【问题标题】:Migradoc - Tables Side by Side - not using Tables within TablesMigradoc - 并排的表格 - 不使用表格中的表格
【发布时间】:2019-02-28 12:03:49
【问题描述】:

我正在使用 Migradoc 并希望复制如下表结构:

我真正不想做的是将每个表格添加到具有 2 列和 2 行的更大表格的单元格中...主要是因为 i) 生成的表格数量可能会有所不同,因此它需要更加动态ii) 在表格中添加表格可能会导致溢出到下一页时出现问题。

我最初希望的是,我可以继续将每个新表添加到 TextFrame 中,并且如果下一个表不适合,这些表将水平添加并换行到下一页...当然,不是这样直截了当。到目前为止,我最接近的甚至看到一张桌子旁边是另一个桌子:

TextFrame newTF = new TextFrame
{
    Width = Unit.FromPoint(200)
};
WrapFormat wf = new WrapFormat();
wf.Style = WrapStyle.Through;
newTF.WrapFormat = wf;
newTF.Add(newTable.Clone());
this.document.LastSection.Add(newTF);

TextFrame newTF2 = new TextFrame
{
    Width = Unit.FromPoint(200)
};
WrapFormat wf2 = new WrapFormat();
wf2.Style = WrapStyle.Through;
newTF2.RelativeHorizontal = RelativeHorizontal.Page;
newTF2.RelativeVertical = RelativeVertical.Paragraph;
newTF2.Left = ShapePosition.Right;
newTF2.WrapFormat = wf2;
newTF2.Add(newTable.Clone());
this.document.LastSection.Add(newTF2);

但是,这是非常静态的,需要为每个 TextFrame 重新定义。此外,由于第二个表格忽略了页面中设置的任何边距,因此布局看起来并不令人惊叹。

如果我要问的完全有可能,那么我是否走在正确的道路上?我整个早上都在研究这个问题,开始觉得我的选择越来越少了!我原以为这对很多 Migradoc 用户来说是一个很大的要求,所以很惊讶地发现它很难做到?当然,除非我只是错过了一些愚蠢的东西。

【问题讨论】:

    标签: c# migradoc


    【解决方案1】:

    另一种选择:创建一个包含 5 列的表格并设置表格边框,使其看起来像 2 个表格,每个表格有 2 个列。

    根据您添加到表格中的数据,最好为每一行文本使用一个表格行,或者将所有文本行放在一行中。

    根据您的图片,我假设使用具有 2 列和 1 行的表格,每个包含一个表格的单元格也可以工作,只要可见表格足够小以适合单个页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多