首页 文章

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

提问于
浏览
2

希望有人在那里可能有同样的问题,并找到了解决方案 .

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

我正在使用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 回答

  • 11

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

  • 0

    我错误地把KeepWith放在行的末尾以保持在一起 . 正如Viveladéraison所说,将KeepWith放在行的第一行以保持在一起 .

    此外,为KeepWith值提供的int不包括它设置的行 . 因此,要将行rowA,rowB和rowC保持在一起,您可以设置:

    rowA.KeepWith = 2;
    

    如果你为表的最后几行设置了一个KeepWith,并且意外地设置了值1(包含你设置它的行),你会得到相同的“对象未设置...”错误,因为你是将KeepWith延长的时间比表行长 .

    一定要喜欢那些Off-By-One错误 .

相关问题