0

玩弄 Slickgrid。但是有一些我没有弄清楚的问题。

我在两个 X 单元格上制作了一个正则表达式过滤器,效果出奇的好。但是每次您过滤或进行其他操作时,我都想使用 cellFlash 或荧光笔来闪烁所有不正确的字段。

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

我不确定我是否在正确的回调/阶段触发了 flashcell,我是在我的过滤器函数上完成的,我将所有不正确的行保存在一个数组中,然后我循环它们并触发 flash。

那么是否可以获得在视口中呈现的所有项目?没找到这方面的资料。只有我可以从 getRenderedViewport 中获取的数据是 pxls。getRenderedRange() 或 getViewport()..

4

1 回答 1

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
});
于 2013-10-02T21:28:09.577 回答