8

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

因为行本身并不公开......如果是,一行并不总是一个数据元素,因为也可以引用一个组,对吧?

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

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

谢谢,

4

2 回答 2

9

使用 dataView.getLength() 和 dataView.getItem(index) 访问过滤/分页/分组数据。这是网格用来与数据源对话的接口。

于 2011-03-17T04:37:31.600 回答
2

如果你想看看,我在这里发布了一个解决方案。也适用于那些可能正在寻找类似东西的人。

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

于 2015-11-05T14:40:49.307 回答