我正在使用 DataView 来填充 Grid,并使用过滤器与可见行进行交互。我的问题是在应用过滤器后,行更改或行数更改...如何访问数据视图以仅迭代那些可见行,例如进行一些计算?
因为行本身并不公开......如果是,一行并不总是一个数据元素,因为也可以引用一个组,对吧?
那么有没有一种简单的方法来访问那些过滤的数据元素呢?
(我想我正在寻找的是能够访问“var filteredItems = getFilteredAndPagedItems(_items, _filter);”)
谢谢,
我正在使用 DataView 来填充 Grid,并使用过滤器与可见行进行交互。我的问题是在应用过滤器后,行更改或行数更改...如何访问数据视图以仅迭代那些可见行,例如进行一些计算?
因为行本身并不公开......如果是,一行并不总是一个数据元素,因为也可以引用一个组,对吧?
那么有没有一种简单的方法来访问那些过滤的数据元素呢?
(我想我正在寻找的是能够访问“var filteredItems = getFilteredAndPagedItems(_items, _filter);”)
谢谢,
使用 dataView.getLength() 和 dataView.getItem(index) 访问过滤/分页/分组数据。这是网格用来与数据源对话的接口。
如果你想看看,我在这里发布了一个解决方案。也适用于那些可能正在寻找类似东西的人。
从 Slickgrid 中的 Dataview 获取过滤后的数据
如果您想显示正在过滤的信息以及当前页面上的内容,您可以执行以下操作。
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 的自定义函数。有关更多信息,请查看链接。