0

我有一个实例,我需要基本上清除数据视图中的所有数据并为数据视图提供一组新数据。

这是我目前所拥有的。:

GridView.beginUpdate();
GridView.setItems(sortedData);
GridView.endUpdate();
GridView.refresh();

我已经尝试过这些和许多其他功能。:

grid.invalidate();
grid.render();
grid.invalidateAllRows();

疯狂的是,当我启动数据视图(gridview)时,它的计数从 17 开始。

SortedData 的计数为 91,在 setItems 之后计数为 84。我不确定这是如何发生的。我已经阅读了关于删除和添加这个数据视图主题的每篇文章和 stackoverflow 条目,并尝试了所有这些。

彻底困惑,因为我一直试图弄清楚这一点,希望有人以前遇到过这种情况。目前,认为这可能是由于我订阅的东西。

@Kzahel 我实际上有一个这样的订阅集。:

dataView.onRowCountChanged.subscribe(function (e, args) {
            grid.updateRowCount();
            grid.render();
        });

以上实际上是处理我的行数更新。

4

2 回答 2

0

试试 grid.updateRowCount() 我也有 slickgrid 和动态内容的问题。但是大多数问题在调用该函数后就消失了。见: https ://github.com/kzahel/jstorrent/blob/master/examples/grid.js#L172

于 2013-08-31T05:24:50.023 回答
0

好的,这是我的解决方案。:

GridView.beginUpdate();
GridView.setItems(sortedData);
GridData = sortedData;
GridView.endUpdate();
GridView.refresh();

我在其他领域使用 GridData 的功能导致了许多问题。

于 2013-09-05T15:43:06.547 回答