问题:如何将更多行附加到单元格表/数据网格?我认为必须有一种方法可以将超出当前表大小的行直接附加到表中。
实际上,上面的陈述充分而简洁地完成了这个问题。
冗余信息
但是,为了避免删除触发器快乐,提供了以下信息,这是多余的,因为如果您知道答案,您就会知道问题所在。但是,如果您需要阅读以下内容,我希望您在回答之前投入大量时间来调查和理解问题。因此,以下信息仅用于避免触发快乐。
如果表当前有 N 行,则 setRowData(newRows) 只会将 newRows 放入表中,直到第 N 行。
如果它检测到要放置的行数超过了表的最后一行索引,它将用新行替换整个表,并删除旧行。
如果它检测到您没有将行放在页面的开头,它将用新行替换整个表。为了避免你有 setPageStart(getRowCount())。
我尝试了以下方法,它只是用新行替换表,丢弃旧行。
public void appendRecords(T list)
{
int n = getRowCount();
setRowCount(n + list.size());
setPageStart(n);
setRowData(n, list);
}
我唯一的办法是让数据提供者记住列表,并且对列表的任何更改都将通过数据提供者,其中数据提供者将在每次发生更改时替换表的列表。