是否可以阻止JqGrid在重新加载时闪烁?
每当我在JqGrid上调用trigger(“reloadGrid”)时,它会清除现有的表,显示“加载”消息,然后重新生成现有数据 – 整个过程只需几毫秒,但它会让用户界面感觉不完整如果它发生了很多。 是否可以阻止它清除并显示加载消息,并用最新的dta替换?
如果您只想停止显示加载消息,可以使用loadui
选项,即初始化网格时:
$("#grid").jqGrid({ url: "/site/data", loadui: "disable", ... );
如果需要动态更改,请使用setGridParam
方法。 对于loadui
的其他选项是“启用”(显示加载消息)和“阻止”(相同,但在加载时阻止任何其他输入)。
不幸的是,jqGrid在进行AJAX调用之前清除了表的内容,所以只要它等待答案,表就是空的。
如果你使用带有滚动的固定高度表,这不是一个问题,但在大多数情况下,我有相当短的表,并且喜欢一次显示完整的内容,只需在页面上向下滚动。 以下调整在每次加载表时将min-height值应用于每个表周围的包装器div(这需要从gridInitialized()
调用):
function freezeHeight() { var $tableWrapper = getContainer($grid).find(".ui-jqgrid-bdiv"); $tableWrapper.css("min-height", $tableWrapper.outerHeight()); }