MigraDoc – imbricated /嵌套表?
我想在另一个表(特定单元格内)中添加一个表。 我找不到将一个Table
对象添加到Cell
对象的方法。 这根本不可能吗?
或者,我可以合并一些细胞,但我在MigraDoc网站上找不到任何样本合并细胞的样本。
这是我的代码:
Table parentTable = new Table(); parentTable.AddColumn(Unit.FromCentimeter(9)); Row parentRow = parentTable.AddRow(); Cell parentCell = parentRow.Cells[0]; Table currentTable = new Table(); currentTable.AddColumn(Unit.FromCentimeter(4)); Row currentRow = currentTable.AddRow(); currentRow.Cells[0].AddParagraph("blablabla"); parentCell.Add(currentTable); // this does not work
Invoice示例使用合并:
http://www.pdfsharp.net/wiki/Invoice-sample.ashx
关键字是MergeRight和MergeDown。 使用MergeRight=1
获取跨越两列的单元格。
如果不太复杂,我认为合并是最好的方法。
您可以将TextFrame
添加到Cell
,并将Table
添加到TextFrame
以实现嵌套表。 但是,您必须处理行高,因为当TextFrame的内容增长时,表格单元格不会自动增长。
使用通用的Add
方法将Table
添加到Cell
或Paragraph
是一种技巧。 代码破解,将表添加到表格单元格:
parentCell.Elements.Add(currentTable);
这是一个没有记录的function。 合并是推荐的方法。
单元格不会中断到下一页,因此向单元格添加表格仅适用于小型嵌套表格。