1
  • 我在 slickgrid 周围添加了一个容器 div(容器有一个标题等,只是为了让它看起来整洁)。
  • 我已经使用 jquery 调整了 div 的大小,并指示它同时调整网格和视口的大小。

它工作得非常好(一切都一致地调整大小),但可见行的数量在我滚动之前不会更新。

有没有办法强制视口刷新?grid.render 不起作用。

$(".container").resizable({
    alsoResize: ".grid, .slick-viewport",
    resize: function (event, ui) { }
});

$(".container").on("resize", function (event, ui) {
    dataView.refresh();
    grid.render();
});
4

2 回答 2

6

如果有人遇到同样的问题,答案是 grid.resizeCanvas();

代码现在如下所示:

    $('.container').each(function () { // I have several grids + containers
       var gridID = $(this).attr('id'); // get the container ID
       $(this).resizable({
       // for some reason, there was a problem with $(this) - I had to use
       // an explicit reference by passing the container ID
           alsoResize: '#' + gridID + ' .grid, #' + gridID + ' .slick-viewport',
           resize: function (event, ui) { }
       });

       $('.container').on('resize', function (event, ui) {
           grid.resizeCanvas()
       });
    }
于 2013-07-11T14:55:00.463 回答
0

您可能还想查看我给出的自动网格调整大小的答案,它会随着视口自动调整大小,因此更改浏览器的大小将反映在网格大小上......
在这里查看:Slickgrid:最后一列自动调整大小以使用所有剩余空间

于 2013-07-11T18:42:06.097 回答