Migradoc:在合并行的情况下避免分页
Migradoc: Avoid a page break in case of merged rows
当页面上剩余的 space 不足时,table 中的合并行(单元格)将放入新页面。
How to prevent this and assure the table is filling the free space on the current page?
Section section = document.AddSection();
Table t5 = new Table();
t5.AddColumn(Unit.FromCentimeter(4));
t5.AddColumn(Unit.FromCentimeter(4));
Row first = t5.AddRow();
first.Cells[0].AddParagraph("Header 1");
first.Cells[1].AddParagraph("Header 2");
for (int j = 0; j < 4; j++)
{
var rowpd = t5.AddRow();
rowpd.VerticalAlignment = VerticalAlignment.Center;
rowpd.Cells[0].MergeDown = 17;
rowpd.Cells[0].AddParagraph("Merged 18 cells. ");
for (int i = 0; i < 18; i++)
{
if (i == 0)
{
rowpd.Cells[1].AddParagraph($"value {i}");
}
else
{
var row = t5.AddRow();
row.Cells[1].AddParagraph($"value {i}");
}
}
}
document.LastSection.Add(t5);
MigraDoc(还)不拆分单元格,它只在单元格之间拆分。使用 MergeDown,您可以创建一个不会分裂的巨大单元格。
选项:避免 MergeDown 并在左栏中使用许多没有水平边框的小单元格来实现类似的光学效果,但按预期进行分页。根据左栏中的文本,这可能是也可能不是一个选项。
当页面上剩余的 space 不足时,table 中的合并行(单元格)将放入新页面。
How to prevent this and assure the table is filling the free space on the current page?
Section section = document.AddSection();
Table t5 = new Table();
t5.AddColumn(Unit.FromCentimeter(4));
t5.AddColumn(Unit.FromCentimeter(4));
Row first = t5.AddRow();
first.Cells[0].AddParagraph("Header 1");
first.Cells[1].AddParagraph("Header 2");
for (int j = 0; j < 4; j++)
{
var rowpd = t5.AddRow();
rowpd.VerticalAlignment = VerticalAlignment.Center;
rowpd.Cells[0].MergeDown = 17;
rowpd.Cells[0].AddParagraph("Merged 18 cells. ");
for (int i = 0; i < 18; i++)
{
if (i == 0)
{
rowpd.Cells[1].AddParagraph($"value {i}");
}
else
{
var row = t5.AddRow();
row.Cells[1].AddParagraph($"value {i}");
}
}
}
document.LastSection.Add(t5);
MigraDoc(还)不拆分单元格,它只在单元格之间拆分。使用 MergeDown,您可以创建一个不会分裂的巨大单元格。
选项:避免 MergeDown 并在左栏中使用许多没有水平边框的小单元格来实现类似的光学效果,但按预期进行分页。根据左栏中的文本,这可能是也可能不是一个选项。