1

我正在使用免费的 jqgrid ,以保持简短,当我尝试通过 beforeProcessing() 中的以下代码设置 jqgrid 的高度时,我在 fixScrollOffsetAndhBoxPadding 上找不到方法。

$grid.setGridHeight(200).trigger("reloadGrid");

我需要设置高度的原因是,当 rownNum <10 时,我希望高度为自动。但是当 rowNum > 10 时,我需要网格有一个垂直滚动条。但是在设置这个高度时,我看到了 javascript 错误,它说 fixScrollOffsetAndhBoxPadding 不是对象或属性。

错误:SCRIPT438:对象不支持属性或方法“fixScrollOffsetAndhBoxPadding”jquery.jqgrid.min.js,第 202 行字符 381

4

1 回答 1

1

我认为你的问题的根源可能是错误setGridHeight的使用或在你创建网格setGridHeight 之前$grid的使用(例如$grid可能是错误的,你应该$(this)改用)。您没有发布代码使用这些行的位置。在创建网格期间(调用之前)释放 jqGrid 设置fixScrollOffsetAndhBoxPadding属性。$grid[0]onInitGrid

reloadGrid更重要的一点是:在其他回调的内部使用时,您应该始终非常小心。你应该同步理解reloadGrid作品。意思是after的下一行将在完成后执行。例如,您加载从服务器返回的第 5 页。的调用将重置jqGrid的参数,它可以改变、放置新的Ajax请求等等。所以我严格建议只在. 通过这种方式,您可以允许 jqGrid 处理当前请求直到结束,然后重新加载:reloadGrid trigger("reloadGrid")trigger("reloadGrid")pagedatatypetrigger("reloadGrid")setTimeout

$grid.setGridHeight(200);
setTimeout(function () {
    $grid.trigger("reloadGrid");
}, 50);

如果上述内容无济于事,那么您应该 1) 使用jquery.jqgrid.src.js而不是jquery.jqgrid.min.js报告错误;2)写下你使用的免费jqGrid的哪个版本(4.9.1、4.9或者来自GitHub的当前代码);3)发布更完整的示例,可用于重现问题。通过调试代码可以很容易地定位问题的根源,但如果只看到一行代码(或一些小的代码片段),就必须猜测原因。

于 2015-07-26T11:01:32.213 回答