有谁知道如何解决这个令人讨厌的问题与asp.net + asmx + jqGrid排序.因为,为了从jqGrid调用pagemethods或asmx web服务,它需要像这样被黑客入侵:
datatype: function() {
$.ajax({
url: 'Default.aspx/GetPersons',
data: "{}",
type: "POST",
dataFilter: function(data) {
var msg = eval('(' + data + ')');
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
datatype: "json"
Run Code Online (Sandbox Code Playgroud)
因此,为了在客户端上进行排序,将loadonce属性设置为true不起作用,并且jqGrid为网格中发生的每个事件调用服务器.
有任何想法吗?
Thanx Marko
这有点晚了,但对于未来寻求解决方案的人来说,这是一个超级简单的解决方案:
gridComplete: function(){
$("#yourGridID").setGridParam({datatype: 'local'});
}
Run Code Online (Sandbox Code Playgroud)
而已.我正在使用3.7.2,不能代表任何其他版本.问题(显然)源于'loadonce'仅使用预定义的数据类型值,而函数则不然.我相信其他内置价值观也会奏效,但"本地化"才有意义.