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获取服务服务器返回的所有数据



原创文章,转载请注明出处:jqGrid获取服务服务器返回的所有数据
评论(0)Web开发网
阅读(3476)喜欢(1)不喜欢(0)jqGrid中文API