回调以设置postdata,而无需重新加载网格
callback to set postdata without having to reload grid?
(free-)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"}
});
}
还具有回调函数:gridComplete
、loadComplete
;并且我尝试将CCD_ 7参数直接设置为jqGrid。
但在没有用CCD_ 8重新加载的情况下,两者都不起作用。
谢谢你的帮助!
在我看来,您可以在创建网格的过程中使用参数:
loadonce: true,
forceClientSorting: true,
search: true,
postData: {
filters: {
groupOp: "AND",
rules: [
{field: "customer", op: "cn", data: "difranco"}
]
}
}
使用gridComplete
、loadComplete
和.trigger("reloadGrid")
不需要任何技巧。请参阅演示或此演示,我将其包含在免费jqGrid 4.13.1的自述中。演示使用本地数据,但远程数据也是如此。在这里和这里可以看到一些更复杂的演示,它们主要展示了另一个强大的功能:additionalProperties
和使用sortfunc
的自定义排序,但它使用loadonce: true, forceClientSorting: true
和postData.filters
以及search: true
。
重要的是,服务器应该忽略所有向其发送jqGrid并返回所有数据的参数。Free jqGrid将根据postData.filters
对服务器返回的数据进行过滤,对结果进行排序,并将最终结果的第一页显示给用户。用户可以使用本地分页,可以修改过滤器等等。对服务器没有额外的要求。
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid