gpt4 book ai didi

javascript - 设置 postdata 的回调而无需重新加载网格?

转载 作者:行者123 更新时间:2023-12-03 07:08:24 37 4
gpt4 key购买 nike

(免费)jqGrid 是否提供回调函数,我可以在加载网格之前设置 postData

在我的例子中,它是伪postData,因为我将 jqGrid 与 loadOnce : true 一起使用。我正在使用 postData 将过滤器应用于网格。我通过 ajax 调用加载此数据。

我想从服务器立即加载所有网格数据 - 但然后在本地应用过滤器。因此,当用户更改这些过滤器(例如通过使用工具栏搜索/过滤)时,它只会应用于本地数据。

我已经尝试过:

beforeInitGrid : function()
{
$("#grid").jqGrid('setGridParam', {
search: true,
postData : {"toolbar":[{"name":"customer","value":"difranco"}],"postdata":{"_search":"true","nd":"1461054190117","rows":"30","page":"1","sidx":"my_date","sord":"asc","totalrows":"10000","filters":"{\"groupOp\":\"AND\",\"rules\":[{\"field\":\"customer\",\"op\":\"cn\",\"data\":\"difranco\"}]}"},"sortname":"my_date","sortorder":"asc","page":"1","rowNum":"30"}
});
}

还有回调函数:gridCompleteloadComplete;我尝试将 postData 参数直接设置为 jqGrid。

但如果不使用 .trigger("reloadGrid") 重新加载,则两者都不起作用。

感谢您的帮助!

最佳答案

在我看来,您可以在创建网格期间使用参数:

loadonce: true,
forceClientSorting: true,
search: true,
postData: {
filters: {
groupOp: "AND",
rules: [
{field: "customer", op: "cn", data: "difranco"}
]
}
}

你不需要任何技巧 gridComplete , loadComplete.trigger("reloadGrid") 。请参阅the demothis one ,我将其包含在 the readme 中免费 jqGrid 4.13.1。演示使用本地数据,但同样适用于远程数据。查看更复杂的演示 herehere ,它主要展示了另一个强大的功能:additionalProperties并使用 sortfunc 进行自定义排序,但使用 loadonce: true, forceClientSorting: truepostData.filterssearch: true .

重要的是,服务器应该忽略所有向其发送 jqGrid 的参数并返回所有数据。免费的jqGrid会根据postData.filters过滤从​​服务器返回的数据,对结果进行排序并向用户显示最终结果的第一页。用户可以使用本地寻呼,可以修改过滤器等等。对服务器不存在任何额外要求。

关于javascript - 设置 postdata 的回调而无需重新加载网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36713180/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com