访问dataview中过滤的项目列表

时间:2011-03-10 06:37:50

标签: slickgrid

我正在使用DataView填充网格,并使用过滤器与可见行进行交互。我的问题是在应用过滤器,行更改或行数更改后...如何访问数据视图以仅迭代那些可见行,例如进行一些计算?

因为行本身没有公开暴露......如果它们是,那么行并不总是数据元素,因为也可以引用一个组,对吗?

那么有一种简单的方法来访问那些过滤后的数据元素吗?

(我想我正在寻找的是能够访问“var filteredItems = getFilteredAndPagedItems(_items,_filter);”)

感谢,

2 个答案:

答案 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的自定义函数。有关更多信息,请查看链接。