在一个页面中,我有一个表单和一个 JQGrid。该表格用于输入特定过滤器。因此,该页面的 Javascript 包含一个重新加载数据以填充 JQGrid 的函数。 JQGrid 具有 loadonce: true
,因此刷新按钮不执行任何操作。我需要让它调用我现有的函数。可能吗?
最佳答案
如果我理解正确,那么你的问题就存在了,因为 loadonce: true
选项改变了原始的 datatype
("json"
或 "xml"
) 到 "local"
。它允许使用数据的本地分页、排序和过滤。在分页、过滤和排序的过程中,网格会被重新加载,所以本地重新加载是有意义的。
如果您需要从服务器重新加载网格,您应该首先恢复 datatype
的原始值,然后重新加载。
因此,如果您可以使用 navGrid
的 beforeRefresh
回调来重置 datatype
:
$("#grid").jqGrid("navGrid", "#pager", {
beforeRefresh: function () {
$(this).jqGrid("setGridParam", {datatype: "json"});
}
});
如果您使用 free jqGrid然后你可以使用 reloadGrid
的新 fromServer: true
选项并且你可以使用 new style of options以及 navGrid
的新 reloadGridOptions
选项。代码会像
$("#grid").jqGrid({
// standard jqGrid options
navOptions: {
// default options of navGrid
reloadGridOptions: {fromServer: true}
}
}).jqGrid("navGrid");
它将与 datatype:"json"
或 datatype:"xml"
一起使用。
关于javascript - 刷新按钮调用javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29215433/