访问渲染的项目

时间:2013-09-16 06:25:30

标签: javascript slickgrid

玩Slickgrid。但是有些问题我不是很清楚。

我在两个X单元上制作了一个Regex滤镜,效果出奇的好。 但是每次你过滤或做其他动作我想用cellFlash或荧光笔闪烁所有不正确的字段。

我已经制作了一个与过滤器使用相同的正则表达式的格式化程序,但似乎不是100%正确。 我使用cellFlash时的问题是它在所有行上触发动画而不仅仅是渲染的行。

我不确定我是否在正确的回调/舞台上触发flashcell,我在我的过滤器功能上做了我保存了数组中所有不正确的行然后我循环它们并触发闪存。

那么可以获取在Viewport中呈现的所有项目吗?没有找到任何关于此的信息。只有我可以从getRenderedViewport ..获取的数据是pxls。 getRenderedRange()或getViewport()..

1 个答案:

答案 0 :(得分:2)

如果需要对当前光滑网格视口中的每个数据项进行处理,可以使用getRenderedRange()来获取呈现的数据项索引范围。然后,您可以使用它来获取每个可见数据项

function forEachItemInViewport(fn) {
    var range = slickGrid.getRenderedRange();
    var bottom = range.bottom;

    while(bottom--) {
        var dataItem = slickGrid.getDataItem(bottom);
        fn(dataItem);
    }
}

forEachItemInViewport(function (item) {
    // do your work on each item in viewport
});