我刚刚开始研究 asp.net mvc 和 jqgrid。
我有一个返回日期的日历、一个多选列表框以及在网格外部应用过滤器按钮。有没有办法根据所选日期和多个所选值将这些过滤器值传递到服务器端actionresult GridData(),并且在分页或排序时保持不变。
public ActionResult GridData(string sidx, string sord, int? page, int? rows, Collection CategoryOptions,string fromDate) {..}
谢谢!
最佳答案
是的,您可以使用 postData 属性为每个请求发送额外的过滤器参数。请注意,这仅在您使用 JSON 填充网格时才有效。只需有一个返回 JsonResult 的操作即可。
在你的 jqgrid 配置中包括:
postData: { startDate: function() { return $('#startDate').val(); }, anotherFilter: function() { return $('#anotherFilter').val(); } }
对于您的应用过滤器按钮,请调用 $('#GridName').trigger('reloadGrid')。另外,我喜欢在过滤器发生变化时重新加载网格。您可以使用 jquery 来做到这一点:
$('#filterName').change(function(){$('#GridName').trigger('reloadGrid');})
您的 JSON 应包含以下属性,以便 jqgrid 理解它:
total = pagedList.PageCount, page = pagedList.PageNumber, records = pagedList.TotalItemCount, rows = pagedList.ToArray()
关于jquery - 在Asp.net mvc中的jqGrid中添加自己的搜索参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674471/