Free jqgrid使用
读取远程json数据 $.jgrid.useJSON = true;
$.extend(true, $.jgrid.defaults, {
mtype: 'GET',
url: '@Html.Raw(Url.Action("Entity", "API",))'
} );
使用
定义搜索窗口$.extend(true, $.jgrid.search, {
multipleSearch: true,
recreateFilter: true,
closeAfterSearch: true,
overlay: 0,
recreateForm: true
});
如果按下搜索按钮,则会创建丑陋的过滤器查询字符串参数,如
http://localhost:52216/admin/API/Entity/DoklstlG?search=true&nd=1448746804617&rows=20&page=1&sidx=customer&_sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22Klient_nimi%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22a%22%7D%5D%7D
如何更改此url,尤其是以OData格式生成的filters子句? 我阅读了jqgrid OData插件wiki文章,但还没有找到这种可能性。
答案 0 :(得分:0)
我不能建议你准备好使用解决方案,但我指出了如何实现这一要求的方向。
首先,我建议您阅读the answer?它显示了如何使用OData的服务器端排序和分页。需要使用$top
,$skip
,$orderby
和$inlinecount
URI参数,这些参数可以在serializeGridData
内设置。可以以相同的方式实现过滤。需要将由jqGrid创建的filters
参数转换为对象并解析所有规则。需要生成相应的$filter
参数,该参数支持OData(如here和here)。重要的是要理解通用实现并不那么容易,它可能取决于您使用的OData实现的确切版本。