【问题标题】:access list of filtered items in dataview访问数据视图中过滤项目的列表
【发布时间】:2011-07-12 11:54:36
【问题描述】:

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

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

那么有没有一种简单的方法可以访问这些过滤后的数据元素?

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

谢谢,

【问题讨论】:

    标签: slickgrid


    【解决方案1】:

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

    【讨论】:

    • 是的,我现在正在这样做,并检查检索到的项目是一行还是一组。但想知道是否有办法跳过最后一次检查,因为我只想访问行并且我正在丢弃组。谢谢!
    • 您必须手动过滤组。这就是分组的实现方式——组被馈送到网格,就像带有一些额外元数据的常规行一样。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多