var $areaTable = $("#areaTable"); $areaTable.jqGrid({ caption: "全省各地区能耗概要", colNames : ['id','全省地区','企业数量(家)','节能量当年完成比率(%)','当年能耗(吨标准煤)','操作'], colModel : [ {name:'areaId',index:'areaId',align : "center", hidden : true}, {name:'areaName',index:'areaName',align : "center", width:175, sortable:false}, {name:'companyCount',index:'companyCount',align:"center", width:60, formatter: "integer", sorttype: 'integer'}, {name:'currentSaving',index:'currentSaving',align:"center", width:145, formatter: "number", sorttype: 'float'}, {name:'currentConsume',index:'currentConsume',align:"center", width:145, formatter: "integer", sorttype:'integer'}, {name:'option', index : 'option', width:50, sortable:false} ], height: 'auto', url:"/mvc/myriadcompany/nav/areaOverview", datatype: "json", jsonReader:{ root: 'data', repeatitems: false, id:'0', }, gridComplete:function(){ var rows = $areaTable.find("tbody tr"); $(rows).each(function(index, elem){ if (index != 0) { $(elem).find("td:last") .addClass("alink jsToAreaDetail") .attr("title", "查看详情") .html("查看详情"); } }); $(".jsToAreaDetail").click(function(){ self.enterAreaPage($(this).parent().attr('id')); }); }, });
要点:
①colNames 与colModel 数组长度必须一致
②jsonReader属性配置:
root指定返回JSON的数据的根节点;
repeatitems: false 指明返回结果无需按顺序列出各字段的值,甚至无需包含所有的字段, 因为jqGrid是按照colModel 来查找显示各列的.
③各列的数据如果需要特殊处理(如格式化,加超链接等), 可以使用colModel的formmater指定函数.
④如需排序, datatype=json时, 需后台支持 sidx=当前排序列, sord=排序方式asc desc