KeepWith抛出Object引用未设置为对象的实例

时间:2011-07-26 12:35:03

标签: pdfsharp migradoc

希望那里的某人可能遇到与此相同的问题,并找到了解决方案。

我正在尝试将表中的某些行设置为要分组,以便如果某行落入下一页,则其他行也将转到该下一页。

我正在使用PdfSharp和Migradoc将行KeepWith属性设置为行的索引 我想继续关注。

IE:

var row = myTable.AddRow();
var rowIndex = row.Index;

foreach (var term in terms)
{
  row = myTable.AddRow();

  if (term.name == "group")
  {
    row.KeepWith = rowIndex;
  }
}

当我尝试加载pdf时,我得到一个'对象引用未设置为对象的实例' 错误抛出,无法弄清楚为什么。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:11)

将KeepWith设置为要与当前行保持的以下行数。要将三行保持在一起,正确的值为2(在组的第一行设置)。

答案 1 :(得分:0)

我犯了一个错误,将KeepWith放在行的末尾以保持在一起。正如Vive ladéraison所说,将KeepWith放在各行的第一行以保持在一起。

此外,为KeepWith值提供的int不包括其设置所在的行。因此,为了将行rowA,rowB和rowC保持在一起,可以设置:

rowA.KeepWith = 2;

如果您为表的最后一行设置了一个KeepWith,并且不小心将值设置为+1(包括您在其上设置的行),则会收到相同的“对象未设置...”错误,因为您将KeepWith扩展的长度超过了表行。

一定喜欢那些“一次性”错误。