是否有可能阻止JqGrid在重新加载时闪烁?

时间:2010-01-21 02:39:38

标签: jquery jqgrid

每当我在JqGrid上调用trigger(“reloadGrid”)时,它会清除现有表,显示“加载”消息,然后重新生成现有数据 - 整个过程只需几毫秒,但它会使用户如果发生很多事情,界面会感觉不完整。是否可以阻止它清除并显示加载消息,只需用最新的dta替换?

2 个答案:

答案 0 :(得分:1)

如果您只想停止显示加载消息,可以使用loadui选项,即初始化网格时:

$("#grid").jqGrid({
    url: "/site/data",
    loadui: "disable",
    ...
);

如果您需要动态更改,请使用setGridParam方法。 loadui的其他选项是“启用”(显示加载消息)和“阻止”(相同,但在加载时阻止任何其他输入)。

答案 1 :(得分:0)

不幸的是,jqGrid在进行AJAX调用之前清除了表的内容,因此只要它等待答案,表就是空的。

如果您使用带有滚动的固定高度表,这不是问题,但在大多数情况下,我有相当短的表,并且喜欢一次显示完整内容,并根据需要向下滚动页面。每次加载表时,以下调整都会将min-height值应用于每个表周围的包装器div(需要从gridInitialized()调用):

        function freezeHeight() {
            var $tableWrapper = getContainer($grid).find(".ui-jqgrid-bdiv");
            $tableWrapper.css("min-height", $tableWrapper.outerHeight());
        }