5

我有以下问题:我将 Slickgrid 与 jquery 布局结合使用。可以使用此插件调整窗格的大小。当我调整 Slickgrid 窗格的大小时,会出现一个水平滚动条,起初不存在,我无法一直滚动到底部。

我创建了一个 jsfiddle 来演示:http: //jsfiddle.net/uNMRT/2/

重现步骤:

  1. 确保 slickgrid 窗格没有水平滚动条。
  2. 一直滚动。(效果很好,你可以查看记录 119,最后一个)
  3. 使用垂直拆分器调整 slickgrid 窗格的大小。确保将 slickgrid 区域缩小以显示水平滚动条。
  4. 再次向下滚动。请注意,您无法完全向下滚动。现在看不到记录 119。

我已经在调整大小时做了一个 resizeCanvas:

center__onresize: function(pane, $pane, state, options) {
                myGrid.resizeCanvas();
            }

这显然是不够的。有任何想法吗?

4

3 回答 3

12

我遇到了同样的问题,看起来光滑的网格没有正确设置“viewportHasHScroll”标志。我找到了以下两种解决方法来解决这个问题(SlickGrid v2.1)

1) 更新updateCanvasWidth 函数(第 396 行)并更改以下行

viewportHasHScroll = (canvasWidth > viewportW - scrollbarDimensions.width); 

到(注意“大于或等于”符号

viewportHasHScroll = (canvasWidth >= viewportW - scrollbarDimensions.width);

2) 更新handleScroll 函数(第 1920 行)并更新 if 块

  //only scroll if they've moved at least one row
  if(vScrollDist && (vScrollDist > options.rowHeight)) {
      ....
  }
于 2013-04-04T17:40:37.480 回答
3

我面临同样的问题,但垂直滚动。如果容器被调整大小,垂直滚动条不会完全滚动。它在倒数第二个记录处停止。尽管栏有滚动空间,但它不能完全移动到底部。如果我将其拉下,网格会跳动,并且条形会再次移动到原始位置。永远无法查看最后一条记录。

于 2012-11-19T07:58:18.080 回答
1

当我添加一行时,我也遇到了问题。这是因为您可能没有正确更新网格。你必须调用 grid.updateRowCount();

于 2013-01-09T12:00:27.063 回答