Inheritance: iTextSharp.text.rtf.RtfElement
示例#1
0
        /**
         * Performs a second pass over all cells to handle cell row/column spanning.
         */
        protected internal void HandleCellSpanning()
        {
            RtfCell deletedCell = new RtfCell(true);

            for (int i = 0; i < this.cells.Count; i++)
            {
                RtfCell rtfCell = (RtfCell)this.cells[i];
                if (rtfCell.Colspan > 1)
                {
                    int cSpan = rtfCell.Colspan;
                    for (int j = i + 1; j < i + cSpan; j++)
                    {
                        if (j < this.cells.Count)
                        {
                            RtfCell rtfCellMerge = (RtfCell)this.cells[j];
                            rtfCell.SetCellRight(rtfCell.GetCellRight() + rtfCellMerge.GetCellWidth());
                            rtfCell.SetCellWidth(rtfCell.GetCellWidth() + rtfCellMerge.GetCellWidth());
                            this.cells[j] = deletedCell;
                        }
                    }
                }
                if (rtfCell.Rowspan > 1)
                {
                    ArrayList rows = this.parentTable.GetRows();
                    for (int j = 1; j < rtfCell.Rowspan; j++)
                    {
                        RtfRow mergeRow = (RtfRow)rows[this.rowNumber + j];
                        if (this.rowNumber + j < rows.Count)
                        {
                            RtfCell rtfCellMerge = (RtfCell)mergeRow.GetCells()[i];
                            rtfCellMerge.SetCellMergeChild(rtfCell);
                        }
                        if (rtfCell.Colspan > 1)
                        {
                            int cSpan = rtfCell.Colspan;
                            for (int k = i + 1; k < i + cSpan; k++)
                            {
                                if (k < mergeRow.GetCells().Count)
                                {
                                    mergeRow.GetCells()[k] = deletedCell;
                                }
                            }
                        }
                    }
                }
            }
        }
示例#2
0
 /**
  * Constructs a RtfCell based on a Cell.
  *
  * @param doc The RtfDocument this RtfCell belongs to
  * @param row The RtfRow this RtfCell lies in
  * @param cell The Cell to base this RtfCell on
  */
 protected internal RtfCell(RtfDocument doc, RtfRow row, Cell cell)
 {
     this.document  = doc;
     this.parentRow = row;
     ImportCell(cell);
 }
示例#3
0
 /// <summary>
 /// Constructs a RtfCell based on a Cell.
 /// @since 2.1.3
 /// </summary>
 /// <param name="doc">The RtfDocument this RtfCell belongs to</param>
 /// <param name="row">The RtfRow this RtfCell lies in</param>
 /// <param name="cell">The PdfPCell to base this RtfCell on</param>
 protected internal RtfCell(RtfDocument doc, RtfRow row, PdfPCell cell)
 {
     _document  = doc;
     _parentRow = row;
     importCell(cell);
 }