
Action:
//此Map为前台JQuery底部汇总信息使用,通过json返回前台private Map userdata = new HashMap()
//将汇总的信息放入put 通过json带回前台JS,注意:key值要与js的列名相同,显示到相应的字段底部userdata.put("departmentname", "部门总数: "+depCount) userdata.put("staffname", "人员总数: "+stfCount) userdata.put("signtime", "迟到总数: "+lateCount) userdata.put("leavetime", "早退总数: "+earlyCount)
JS:
jsonReader : { // 描述json数据格式的数组 root : "resultList",// root这里的值是rows,意味着它会读取json中的rows键的值,这个值就是真实的数据 //total : "total",// 总的页数 //page : "page", // root这里的值是page,意味着它会读取json中的page键的值,当前页号 //records : "record",// 总记录数 repeatitems : false, userdata: "userdata" // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。},
footerrow: true,userDataOnFooter: true }).navGrid('#pager', {add : false,edit : false,del : false,search : false,refresh : false })
1.addJSONData和addRowData有点区别,后者是绑定在jquery对象的,前者是绑定在标签上的。
用addJSONData时举例:$("#table")[0].addJSONData(data)
用FF可以看到$("#table")[0]上绑定的事件的。
2.addJSONData接受的参数:
这是后台的.net代码
new JObject() {
new JProperty("total","1"),
new JProperty("page","1"),
new JProperty("records","3"),
new JProperty("rows",yourArrayData)
}
可以看到addJSONData接受的并不是一个数组,就是一个json对象,开始一直也困扰在这里。
前台返回的JSON:
{"total":"1","page":"1","records":"3","rows":[{"UserID":1,"UserName":"kp","Password":"123","Domain":null,"RoleID":null},{"UserID":2,"UserName":"kptest","Password":"Kp123","Domain":null,"RoleID":null},{"UserID":3,"UserName":"ricky","Password":"123","Domain":"XSUNT-SH\\dong.geng","RoleID":1}]}
3.还有一点需要注意的,jqgrid需要定义一个jsonReader其中的repeatitems如果不指定为false FF会返回obj is undefined
jsonReader: {
repeatitems: false,
rows: "rows",
total: "total",
page: "page",
records: "records"
}
4.$("#table").addJSONData(data)的调用位置也值得注意,最后只有在loadComplete中才能加载出数据,gridComplete里不可以,方法外也不行。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)