在MigraDoc图表和表格之间水平分割部分

时间:2015-10-12 19:30:20

标签: c# .net pdfsharp migradoc

我有以下要素:

1. MigraDoc.DocumentObjectModel.Shapes.Charts.Chart
2. MigraDoc.DocumentObjectModel.Tables.Table

我想在图表的右侧显示数据表(2)(1)。像传说一样,但有更多的信息。此自定义表将提供比标准图例更多的信息。

出于某种原因,我可以使用以下方法将它们添加到另一个之上:

PdfDoc.LastSection.Add(Chart);
PdfDoc.LastSection.Add(Table);

但这是垂直添加。我可以将它们水平放置吗?

1 个答案:

答案 0 :(得分:0)

有多种方法可以水平放置物品。

图表来自Shape,可以放置在任何位置(绝对或相对)。表可以放在TextFrame中,TextFrame也是从Shape派生的。虽然形状放置有点棘手。

我很可能会使用表格并将图表放在表格的一个单元格内。使用MergeDown和MergeRight,你几乎可以创建任何东西。

示例:您的图例需要两列六行。创建一个包含三列和六(或七)行的表,为第一列中的第一个单元格设置MergeDown = 5(或6)。您只能为第2列和第3列以及前六行中的单元格设置边框。 如果图例可能比图表短,则应使用7行。如果你知道图例比图表长,那么6行就足够了。

注意:MergeDown = 5将创建一个跨越6行的单元格。

Invoice示例显示MergeDown和MergeRight在工作:
http://www.pdfsharp.net/wiki/Invoice-sample.ashx