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