MigraDoc:一行中的两个表格

4
我正在使用MigraDoc创建报告,需要添加4个表格,其中2行每行有2个表格。
我尝试了多种方法来实现这一目标。

1- 尝试在表格上创建左缩进。

table1.Format.LeftIndent = 7;

2- 尝试在表格的行上创建左缩进。

tables.Rows.LeftIndent = 5;

3- 我还尝试创建一个表格,并将每个表格插入到单独的单元格中,但我不知道如何将创建表格的方法放置在单元格内。

希望能得到任何有关此问题的帮助或建议。非常感谢!
2个回答

10

这篇文章的帮助下,我成功地实现了以下内容:

我有 4 张如下表格:

        Table table = new Table();
        table.Borders.Width = 0.75;

        Column column = table.AddColumn(Unit.FromCentimeter(6));
        column.Format.Alignment = ParagraphAlignment.Left;

        Row row = table.AddRow();

        Cell cell = row.Cells[0];
        cell.AddParagraph("some value on first row");

        row = table.AddRow();
        cell = row.Cells[0];
        cell.AddParagraph("another value on second row");

        row = table.AddRow();
        cell = row.Cells[0];
        cell.AddParagraph("The value on third row");

假设我们称这些表格为table、table2、table3和table4。

我们可以像这样在MigraDoc中将一个表格插入到一个行的单元格中:

        Document document = new Document();
        Table TableContainer = new Table();
        Column columnC = TableContainer.AddColumn(Unit.FromCentimeter(7));
        TableContainer.AddColumn(Unit.FromCentimeter(7));

        Row rowC = TableContainer.AddRow();
        Cell cellC = rowC.Cells[0];
        cellC.AddParagraph("First Column");
        cellC = rowC.Cells[1];
        cellC.AddParagraph("Second Column");

        rowC = TableContainer.AddRow();
        cellC = rowC.Cells[0];
        cellC.Elements.Add(table);
        cellC = rowC.Cells[1];
        cellC.Elements.Add(table2);

        rowC = TableContainer.AddRow();
        cellC = rowC.Cells[0];
        cellC.Elements.Add(table3);
        cellC = rowC.Cells[1];
        cellC.Elements.Add(table4);

        document.LastSection.Add(TableContainer);

这个已经不再支持了吗? - mochsner
@mochsner 对我来说可行 - Jack n J

0

我没看到问题。;-)

关于第3个问题:有一个已知的方法可以将表格添加到表格中:在单元格中添加TextFrame并将表格添加到TextFrame中。

单元格无法跨页,因此内部表格必须足够小以适合一页。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接