Merge cells for empty values in PDF Form table?

342 Views Asked by At

I try to make pdf table like this:

PdfTableExample

I need:

  • if header1 and header2 in line is null - make only left border (or right for header2)
  • else make all border except bottom.

Why when header1 and header2 is null? I cannot see left/right border.

My code is:

  • For header1:
          data.#subform[0].Table1.Row1.MANDT::ready:layout - (JavaScript, client)
      //"0" is the top border, 
      //"1" is the right border, 
      //"2" = bottom and 
      //"3" is the left border
      if ( this.rawValue == null )
      {
      //TextField.Border
      //  this.ui.oneOfChild.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      //////////////////////////////////////////////////////////////////////////
    
          this.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
          this.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
    
    
    
      }
      else 
      {
      ////TextField.Border
      //  this.ui.oneOfChild.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      //////////////////////////////////////////////////////////////////////////
    
      //  this.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
          this.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      }
    
  • For header2:
       data.#subform[0].Table1.Row1.MATNR::ready:layout - (JavaScript, client)
      //"0" is the top border, 
      //"1" is the right border, 
      //"2" = bottom and 
      //"3" is the left border
      if ( this.rawValue == null )
      {
      //TextField.Border
      //  this.ui.oneOfChild.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      //////////////////////////////////////////////////////////////////////////
    
          this.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
          this.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
    
    
    
      }
      else 
      {
      ////TextField.Border
      //  this.ui.oneOfChild.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      //////////////////////////////////////////////////////////////////////////
    
      //  this.border.getElement("edge",0).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",1).presence = "invisible";
          this.border.getElement("edge",2).presence = "invisible";
      //  this.ui.oneOfChild.border.getElement("edge",3).presence = "invisible";
      }
    
1

There are 1 best solutions below

0
Faizan Farrukh On

In your 2nd header make sure the edge 1 and edge 3 borders are set to visible

if ( this.rawValue == null || this.rawValue == "" || this.rawValue == " " )
{
this.border.getElement("edge",0).presence = "invisible";
this.border.getElement("edge",1).presence = "visible";
this.border.getElement("edge",2).presence = "invisible";
this.border.getElement("edge",3).presence = "visible";
}
else
{
this.border.getElement("edge",2).presence = "invisible";
}