在jqgrid中的数据,都是jqgrid负责请求加载的,如果除了jqgrid列表之外的数据,一次传递到前端,则需要用到userdata属性,具体用法如下,下面的userData是从后台传递到前端的一个map(key值为code,value为中文名字)
$("#jqGrid").jqGrid({
url: baseURL + 'sys/user/list',
datatype: "json",
colModel: [
{ label: '用户ID', name: 'userId', index: "user_id", width: 45, key: true },
{ label: '登陆名111', name: 'loginName', width: 75 },
{ label: '用户名', name: 'username', width: 75 },
{ label: '邮箱', name: 'email', width: 90 },
{ label: '手机号', name: 'mobile', width: 100 },
{ label: '是否禁用', name: 'status', width: 80, formatter: function(value, options, row){
var userData=$("#"+options.gid).jqGrid('getGridParam','userData');
var strClass=(value===0? "label-danger":"label-success");
return '<span class="label '+strClass+ '">'+userData[value]+'</span>';
}},
{ label: '创建时间', name: 'createTime', index: "create_time", width: 80}
],
viewrecords: true,
height: 385,
rowNum: 10,
rowList : [10,30,50],
rownumbers: true,
rownumWidth: 25,
autowidth:true,
multiselect: true,
multiboxonly:true,
pager: "#jqGridPager",
jsonReader : {
root: "page.list",
userdata:"ShiFouBiaoJi",
page: "page.currPage",
total: "page.totalPage",
records: "page.totalCount"
},
后台java代码:
public ResultMap list(@RequestParam Map<String, Object> params){
.........
return ResultMap.ok().put("page", pageUtil).put(CodeItem.shiFouBiaoJi, ShiFouBiaoJi.getCodeMap()));
}