jqGrid获取服务服务器返回的所有数据
当jqGrid配置的rowNum小于服务器返回的总数据量(records属性记录总数据),调用getRowData方法获取到的只是显示的部分内容,而非服务器返回的所有数据行。
要想获取jqGrid返回的所有数据行,可以添加loadComplete事件,此事件参数只有一个(类型取决于datatype的配置,如果为json,则是服务器返回的json格式的字符串,转为json对象后的。为xml,则为xml的根节点,对于xml获取所有记录得自己分析xml来获取了)。
loadComplete事件仅对加载远程数据有效,如果是本地数据datatype为local或者clientside,那么data对象会被处理过,只包含rowNum指定的数据行,对于datatype为local类型的,具体获取所有数据可以参考:jqGrid获取本地查询后匹配的所有数据
示例代码如下
data.txt
{
"list":[
{"age":"age1","id":"1","name":"name1","xm":"name1"},
{"age":"age2","id":"2","name":"name2","xm":"name2"},
{"age":"age3","id":"100","name":"name3","xm":"name3"},
{"age":"age3","id":"100","name":"name3","xm":"name3"},
{"age":"age3","id":"100","name":"name3","xm":"name3"},
{"age":"age3","id":"100","name":"name3","xm":"name3"},
{"age":"age3","id":"100","name":"name3","xm":"name3"},
{"age":"age3","id":"100","name":"name3","xm":"name3"}]
}
jQuery("#grid").jqGrid({ url: 'data.txt', datatype: "json", viewrecords: true, jsonReader: { repeatitems: false, root: "list" }, height: 150, loadComplete: function (data) { console.log(data) console.log(data.list)//为所有数据行,具体取决于reader配置的root或者服务器返回的内容 }, colModel: [ { name: 'id', index: 'id'}, { name: 'name', index: 'name', editable: true, edittype: 'text' }, { name: 'age', index: 'age', editable: true, edittype: 'text' } ], rowNum: 4//配置为4,但是服务器返回8条,调用getRowData只能获取前4条 });
加支付宝好友偷能量挖...
原创文章,转载请注明出处:jqGrid获取服务服务器返回的所有数据