除非显示/隐藏过滤器以重新调整视口大小,否则SlickGrid垂直滚动条无法正常显示

时间:2012-03-28 15:37:08

标签: ajax paging slickgrid

我刚刚开始使用SlickGrid但是我已经成功创建了一个可以与分页插件交互的远程模型。我遇到的唯一问题似乎是浏览器问题,但我很好奇是否有人知道可以解决问题的技巧。

我正在通过AJAX在我的模型中逐页检索数据,并使用grid.setData()grid.render()方法更新网格。

我想解决的问题是,当数据长度发生变化时,垂直滚动条会变得非常混乱,除非我更改过滤器面板的当前可见性(grid.hideTopPanel()grid.showTopPanel())。混淆我的意思是滚动条中的滚动句柄不会改变大小以指示当前当前行的不同行数,如果列表增长,当我向上和向下滚动时,滚动句柄大小会跳到整个地方。

我假设“修复”有效,因为它强制浏览器重新计算视图端口高度,但有没有办法强制这种情况发生?或者有更好的方法来做我想做的事情吗?

3 个答案:

答案 0 :(得分:3)

好的mleibman把我拉了出来,我实际上正在寻找的是grid.updateRowCount()。我相信他会在grid.setData()中添加对此的调用,但现在只需确保两个方法调用一起使用。

答案 1 :(得分:0)

你试过grid.invalidate()吗?我的经验是迫使网格重新计算几乎所有东西。它可能比你需要的更加严厉,但至少你可以看到一个完全无效的解决问题。

答案 2 :(得分:0)

我明白了。您需要在致电grid.resizeCanvas()后致电grid.setData()。看起来这应该是grid.setData()方法的一部分,因为调用它会改变行数。但无论如何,这就是你需要做的事情。