【问题标题】:MigraDoc: How to extend the row height when adding text?MigraDoc:添加文本时如何扩展行高?
【发布时间】:2016-04-25 14:06:00
【问题描述】:

我正在 MigraDoc 中构建一个表。我找到了一种在TextFrame 的帮助下将Table 放入Table.Row.Cell 的方法。不幸的是,在TextFrame 中添加新条目时,Row.Cell 不会增长。所以在某个点,内表会重叠到下面的行中。

这是我的代码:

this.Table = this.MigraDokument.AddSection().addTable();
Row row = this.Table.AddRow();
TextFrame Frame = row.Cells[0].AddTextFrame();

Table k_table = Frame.AddTable();
// adding rows with 
// Row row2 = k_table.AddRow();

如何告诉 Row.Cell 随着我放入内部表的每个条目而增长?

编辑:我的问题不在于我无法添加嵌套表,例如 [MigraDoc - imbricated / nested tables?. 尽管链接中的答案对我有所帮助。 这个问题涉及的主题是 TextFrames 可能是在表格中嵌套表格的不合适方式,因为 Cell 不随嵌套表格缩放。

【问题讨论】:

  • 这在某种程度上可能是重复的,尽管我的问题本身与链接中的问题有点不同。但是来自链接的解决方案/黑客有所帮助。见我的回答。感谢 PDFsharp 团队
  • 不是同一个问题,而是同一个问题——同样的解决方案适用于这两个问题。如果它们只是有点不同,我们是否都需要它们?
  • 同一个解决方案解决了两个不同的问题。如果您认为我的帖子是多余的,我可以删除它(没有难过的感觉),但在我看来,这是一个不同的问题。在 StackOverflow 和 Google 中研究我的问题时,我都没有找到其他帖子。

标签: c# row pdfsharp migradoc


【解决方案1】:

来自 [MigraDoc - imbricated / nested tables? 的未记录功能是答案: 现在代码看起来是这样的,它工作正常。

this.Table = this.MigraDokument.AddSection().addTable();
Row row = this.Table.AddRow();
// Here I grab the cell that I want to populate later
Cell dataCell = row.Cells[0];

// Than I build the table with alle the necessary Information in it
Table k_table = new Table();
// adding columns and rows with 
k_table.AddColumn();
k_table.AddColumn();
Row row = k_table.AddRow();
// and populate with data
row.Cells[0].AddParagraph("Stuff 1");
row.Cells[1].AddParagraph("Stuff 2");

// The final trick is to add it in the end to the `Elements`
// property of the cell
dataCell.Elements.add(k_table);

最后一步的效果是 Table-Cell 已经增长到 扩展,嵌套表提供! 不需要与下面的额外行合并。 这种方法似乎比我尝试使用的 TextFrame 更灵活 在我的问题中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-05
    • 2023-03-24
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多