我正在使用DataView填充网格,并使用过滤器与可见行进行交互。我的问题是在应用过滤器,行更改或行数更改后...如何访问数据视图以仅迭代那些可见行,例如进行一些计算?
因为行本身没有公开暴露......如果它们是,那么行并不总是数据元素,因为也可以引用一个组,对吗?
那么有一种简单的方法来访问那些过滤后的数据元素吗?
(我想我正在寻找的是能够访问“var filteredItems = getFilteredAndPagedItems(_items,_filter);”)
感谢,
答案 0 :(得分:9)
使用dataView.getLength()和dataView.getItem(index)访问过滤/分页/分组数据。 这是网格用于与数据源通信的接口。
答案 1 :(得分:1)
如果你想看看,我在这里发布了一个解决方案。也适用于那些可能正在寻找类似事物的人。
Get Filtered data from Dataview in Slickgrid
如果您想要显示正在过滤的信息以及当前页面上的内容,您可以执行以下操作。
var pagingInfo = dataView.getPagingInfo();
var start = pagingInfo['pageSize'] * (pagingInfo['pageNum']);
var filteredAndPagedItems = dataView.getFilteredItems().slice(start,(start + pagingInfo['pageSize']));
console.table(filteredAndPagedItems);
沿着这些方向的东西.getFilteredItems是我添加到dataview.js的自定义函数。有关更多信息,请查看链接。