在 MigraDoc 图表和 table 之间水平拆分部分
Split section horizontally between MigraDoc chart and table
我有以下要素:
1. MigraDoc.DocumentObjectModel.Shapes.Charts.Chart
2. MigraDoc.DocumentObjectModel.Tables.Table
我想在图表 (1) 的右侧显示数据 table (2)。有点像传说,但有更多信息。此自定义 table 将提供比标准图例更多的信息。
出于某种原因,我可以通过以下方式将它们一个接一个地添加:
PdfDoc.LastSection.Add(Chart);
PdfDoc.LastSection.Add(Table);
但这是垂直加法。我可以水平放置它们吗?
有几种水平放置项目的方法。
Chart 派生自 Shape,可以放置在任意位置(绝对或相对)。 table 可以放在同样派生自 Shape 的 TextFrame 中。虽然形状放置有点棘手。
我很可能会使用 table 并将图表放在 table 的一个单元格中。使用 MergeDown 和 MergeRight,您几乎可以创建任何东西。
示例:您的图例需要两列和六行。创建一个具有三列和六(或七)行的 table,为第一列中的第一个单元格设置 MergeDown=5(或 6)。您只能为第 2 列和第 3 列以及前六行中的单元格设置边框。
如果图例可能比图表短,则应使用 7 行。如果您知道图例比图表长,那么 6 行就足够了。
注意:MergeDown=5 将创建一个跨越 6 行的单元格。
Invoice 示例显示了 MergeDown 和 MergeRight 的作用:
http://www.pdfsharp.net/wiki/Invoice-sample.ashx
我有以下要素:
1. MigraDoc.DocumentObjectModel.Shapes.Charts.Chart
2. MigraDoc.DocumentObjectModel.Tables.Table
我想在图表 (1) 的右侧显示数据 table (2)。有点像传说,但有更多信息。此自定义 table 将提供比标准图例更多的信息。
出于某种原因,我可以通过以下方式将它们一个接一个地添加:
PdfDoc.LastSection.Add(Chart);
PdfDoc.LastSection.Add(Table);
但这是垂直加法。我可以水平放置它们吗?
有几种水平放置项目的方法。
Chart 派生自 Shape,可以放置在任意位置(绝对或相对)。 table 可以放在同样派生自 Shape 的 TextFrame 中。虽然形状放置有点棘手。
我很可能会使用 table 并将图表放在 table 的一个单元格中。使用 MergeDown 和 MergeRight,您几乎可以创建任何东西。
示例:您的图例需要两列和六行。创建一个具有三列和六(或七)行的 table,为第一列中的第一个单元格设置 MergeDown=5(或 6)。您只能为第 2 列和第 3 列以及前六行中的单元格设置边框。 如果图例可能比图表短,则应使用 7 行。如果您知道图例比图表长,那么 6 行就足够了。
注意:MergeDown=5 将创建一个跨越 6 行的单元格。
Invoice 示例显示了 MergeDown 和 MergeRight 的作用:
http://www.pdfsharp.net/wiki/Invoice-sample.ashx