如何检查数据表行的可见性?

时间:2016-11-11 16:36:29

标签: javascript html datatable filtering webix

是否可以检查特定数据表行的可见性?

我发现只有isColumnVisiblegetVisibleCount,但两者都无关紧要,据我所知,行没有这样的解决方案。

我该怎么办?例如,在过滤后,我可以获得所有数据项,但这就​​是全部。这是我提出的唯一想法:

   onAfterFilter:function(){
      var dataId = this.data.pull;
      var keys = Object.keys(dataId);          
      for (var i = 0; i < keys.length; i++){
        console.log(this)
      }            
    }

http://webix.com/snippet/c6ecdcd5

3 个答案:

答案 0 :(得分:1)

好吧,感觉这是一个很长的路要走。除了让它发挥作用外,我还没有做任何事情。

但是您会在this.data.order中找到所需的所有ID,因此以下代码会将所有已过滤的项目放入filteredObjs

var dataId = this.data.pull;
var keys = Object.keys(dataId);
var filteredIds = this.data.order;
var filteredObjs = [];
for (var i = 0; i < filteredIds.length; i++) {
    for (var j = 0; j < keys.length; j++) {
        if (filteredIds[i] === dataId[keys[j]].id) {
            filteredObjs.push(dataId[keys[j]]); 
        }
    }
}
console.log(filteredObjs);

不是说完美。但它是一个开始...

答案 1 :(得分:0)

对于初学者,您需要将console.log(this)更改为console.log(keys[i])

答案 2 :(得分:0)

作为@ShaunParsons制作的data-based solution的替代方案,我发现可以通过getItemNode函数检查可见性,因为不可见项的节点是{{1 }}

http://webix.com/snippet/4f31a5b5

undefined