【问题标题】:fixScrollOffsetAndhBoxPadding jqGridfixScrollOffsetAndhBoxPadding jqGrid
【发布时间】:2015-07-26 10:15:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jqgrid free-jqgrid


    【解决方案1】:

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

    还有一个重要的说明:在其他回调中使用reloadGrid 时,您应该始终非常小心。您应该了解reloadGrid同步工作。这意味着reloadGrid 之后的下一行将在trigger("reloadGrid") 完成后执行。例如,您加载从服务器返回的第 5 页。 trigger("reloadGrid")的调用会重置jqGrid的page参数,它可以改变datatype,发出新的Ajax请求等等。所以我强烈建议只在setTimeout 内部使用trigger("reloadGrid")。以这种方式,您可以让 jqGrid 处理当前请求直到结束,然后稍后重新加载:

    $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) 发布更完整的示例,可用于重现该问题。通过调试代码可以很容易地定位问题的根源,但是如果只看到一行代码(或一些小的代码片段)就必须猜测原因。

    【讨论】:

    • 谢谢奥列格,我解决了。我实际上犯了一个错误,在网格完全初始化之前,我试图在 window.resize 函数下对网格执行一些操作。只是确保仅在网格准备好后才进行调整大小调用。
    猜你喜欢
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多