首页 文章

MigraDoc - imbricated / nested表?

提问于
浏览
3

我想在另一个表(在特定单元格内)中添加一个表 . 我找不到将 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

1 回答

  • 12

    Invoice示例使用合并:
    http://www.pdfsharp.net/wiki/Invoice-sample.ashx

    关键字是MergeRight和MergeDown . 使用 MergeRight=1 获取跨越两列的单元格 .

    我认为合并是最好的方法,如果它不会太复杂 .

    您可以将 TextFrame 添加到 Cell 并将 Table 添加到 TextFrame 以实现嵌套表 . 但是,您必须处理行高,因为当TextFrame的内容增长时,表格单元格不会自动增长 .

    使用通用 Add 方法在单元格中将 Table 添加到 CellParagraph 是一种技巧 . 代码破解,将表添加到表格单元格:

    parentCell.Elements.Add(currentTable);
    

    这是一个没有记录的功能 . 合并是推荐的方法 .

    单元格不会中断到下一页,因此向单元格添加表格仅适用于小型嵌套表格 .

相关问题