access list of filtered items in dataview

吃可爱长大的小学妹 提交于 2020-01-01 04:52:27

问题


I'm using a DataView to populate the Grid, and using filters to interact with the visible rows. My problem is after applying the filters, on rows change, or rows count change... how can I access the dataview to iterate over only those visible rows, to do some calculations for example?

Because rows themselves are not publicly exposed... and if they were, a row is not always a data element, since can also refer to a Group, right?

Is there an easy way to access those filtered data elements then?

(I guess what I'm looking for is something like being able to access "var filteredItems = getFilteredAndPagedItems(_items, _filter);")

thanks,


回答1:


Use dataView.getLength() and dataView.getItem(index) to access filtered/paged/grouped data. This is the interface the grid is using to talk to the data source.




回答2:


I posted a solution here if you want to give that a look. Also for those who might be looking for something similar.

Get Filtered data from Dataview in Slickgrid

if you want to show the information that's being filtered and whats on the current page you can do something like this.

var pagingInfo = dataView.getPagingInfo();
var start = pagingInfo['pageSize'] * (pagingInfo['pageNum']);
var filteredAndPagedItems = dataView.getFilteredItems().slice(start,(start + pagingInfo['pageSize']));
console.table(filteredAndPagedItems);

something along those lines.the getFilteredItems is a custom function i added to the dataview.js. for more information view the link.



来源:https://stackoverflow.com/questions/5256327/access-list-of-filtered-items-in-dataview

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!