gpt4 book ai didi

c# - MigraDoc - 表格边框但没有单元格/行/列边框

转载 作者:行者123 更新时间:2023-12-05 05:17:27 26 4
gpt4 key购买 nike

我正在努力实现看起来应该是直截了当的事情,但运气不佳。我需要一个 MigraDoc 表格来呈现只有表格边框,不包括中间的所有单元格:

enter image description here

我已经关注了这篇文章中的评论:

How do you add a border around a table in MigraDoc?

有用的信息,但我无法从中实现完整修复?在将表添加到该部分之前,我运行了以下代码:

        table.Borders.Visible = true;
for (int i = 0; i < table.Rows.Count - 2; i++)
{
table.Rows[i].Borders.Bottom.Visible = false;
}

起初看起来它完成了工作......直到我遇到下一页后面的表格......底部行边框显然只为最底部的行呈现并且不考虑 PageBreaks mid -表。

肯定有更好的方法吗?

最佳答案

编辑:我很欣赏这是一个有点老的问题,但以防万一有人在这里寻找答案...

尝试使用 SetEdge 选项。有两种方法可以做到这一点,具体取决于您是否知道您将拥有多少表格行或列(静态内容),或者您还不知道(动态内容)。

选项 1:静态表格内容

首先设置你的表格,这样所有的列、单元格和行都存在,然后给你的表格添加一个边框

table.SetEdge(a, b, x, y, Edge.Box, BorderStyle.Single, 1, Colors.Black);

前四个数字 a, b, x, y 表示您要向哪个表格单元格添加边框,前两个数字是左上角的列然后是行(在您的情况下为整个表格加边框,这应该是 0, 0),第二个数字是右下角的列然后是行(根据您的示例,这是 3, 4 ,假设标题是一个标题行)。

Edge.Box之后,选项是border style, border width, border color

然后您可以像往常一样在每个单元格或行之后添加任何额外的单独边框,因此按照您的示例在标题行的底部添加边框...

headerRow.Borders.Bottom.Width = 0.2;
headerRow.Borders.Bottom.Color = Colors.Black;

选项 2:动态表格内容

如果因为内容是动态的而不知道表格中有多少行或列,则可以使用 this.table.Columns.Count 设置 SetEdge 中的前四个数字code>this.table.Rows.Count - 例如:

table.SetEdge(0, 0, this.table.Columns.Count, this.table.Rows.Count, Edge.Box, BorderStyle.Single, 1, Colors.Black);

引用资料

有关详细信息,请参阅此帖子: https://forum.pdfsharp.net/viewtopic.php?f=2&t=3598

它也在 MigraDoc 示例中(搜索 SetEdge): http://pdfsharp.net/wiki/HelloMigraDoc-sample.ashx

关于c# - MigraDoc - 表格边框但没有单元格/行/列边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com