【问题标题】:Access rendered items访问呈现的项目
【发布时间】:2013-09-16 06:25:29
【问题描述】:

玩弄 Slickgrid。但是有一些我想不通的问题。

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

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

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

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

【问题讨论】:

  • 除了您的解释之外,请显示您的代码示例

标签: javascript slickgrid


【解决方案1】:

如果您需要对当前光滑网格视口中的每个数据项进行处理,您可以使用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
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多