Page 1 of 1

Merged cells and table torder

Posted: Wed May 03, 2023 8:11 pm
by cniccolo
Dear Lars

We are using the simplified code below to generate a table on a report. When we remove the AddBorderTop from the last block (that prints the "g") everything is fine. If we leave the line in a border is shown in cell 4. The behaviour also disappears when the MergeCells statement is removed. I searched but could not find the code part that is responsible for this. It is not critical since we have a workaround

Code: Select all

  Table := DOCX.Editor.AppendTableUI(5, 2);
  Table.TAPX.AddBorders;
  Table.TAPX.BorderLeft.Style := stbNone;
  Table.TAPX.BorderTop.Style := stbNone;
  Table.TAPX.BorderRight.Style := stbNone;
  Table.TAPX.BorderBottom.Style := stbNone;

  Table.SetWidthPercent(100);

  Table.MergeCells(1,0,2,0);

  TableCell := Table.Rows[0].Cells[1];
  TableCell.Props.AddBorders(1,$000000,stbSingle,0);
  TableCell.Paras.Last.AppendPlainText( 'b');

  TableCell := Table.Rows[0].Cells[2];
  TableCell.AddProps;
  TableCell.Props.AddBorderLeft(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderTop(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderBottom(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderRight(0.5,$000000,stbSingle,0);
  TableCell.Paras.Last.AppendPlainText( 'c');

  TableCell := Table.Rows[1].Cells[1];
  TableCell.AddProps;
  TableCell.Props.AddBorderLeft(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderTop(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderRight(0.5,$000000,stbSingle,0);
  TableCell.Paras.Last.AppendPlainText( 'e');

  TableCell := Table.Rows[1].Cells[2];
  TableCell.AddProps;
  TableCell.Props.AddBorderLeft(0.5,$000000,stbSingle,0);
  TableCell.Props.AddBorderTop(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderRight(0.5,$000000,stbSingle,0);
  TableCell.Paras.Last.AppendPlainText( 'f');

  TableCell := Table.Rows[1].Cells[3];
  TableCell.AddProps;
  TableCell.Props.AddBorderLeft(0.5,$000000,stbSingle,0);
  TableCell.Props.AddBorderTop(1,$000000,stbSingle,0);
  TableCell.Props.AddBorderRight(0.5,$000000,stbSingle,0);
  TableCell.Paras.Last.AppendPlainText('g');