将loadonce设置为false多次搜索jqgrid后,它不会加载搜索到的数据。它正在用所有数据重新加载网格。
答案 0 :(得分:1)
服务器应返回不同数据取决于您使用loadonce: true
还是默认loadonce: false
选项。您的服务器部件似乎为loadonce: false
提供了错误的数据。
理解。 jqGrid向服务器发送一些参数。它的默认名称为page
,rows
,sidx
,sord
,_search
以及过滤时的其他参数。如果是高级搜索其参数filters
。
要在使用loadonce: true
的情况下正确实施服务器部分,只需使用sidx
和sord
输入参数,然后返回所有数据,只需对其进行排序对应于sidx
和sord
参数的值。
要在使用loadonce: false
的情况下正确实现服务器部分,您需要在服务器端实现更复杂的逻辑。服务器应根据filters
参数过滤数据(如果设置了_search
),过滤结果应按sidx
和sord
排序,最终结果必须在大小为rows
的页面上划分,并且应将page
参数指定的页面返回给服务器。因此,服务器只应返回一页过滤数据。 换句话说,如果您不想使用loadonce: true
,则必须在服务器端实施数据的过滤,排序和分页。
The old answer提供了ASP.NET MVC上此类实现的示例。