最近做的项目用到的jqgrid做表格,刚开始用的时候是各种不顺,随着项目的不断深入,对表格的要求也越来越高,有些时候都不知道怎么解决问题了,后来经过我的不断努力,总算有了很大进步,下面把我的学习过程分享一下。
1、定义subGrid为true,然后是subGridOptions选项;
<span style="white-space:pre"> </span> subGrid: true,
subGridOptions: {
plusicon: 'ui-icon-plus',
minusicon: 'ui-icon-minus',
openicon: 'ui-icon-carat-1-sw',
expandOnLoad: true,
selectOnExpand: false,
reloadOnExpand: false
},
2、定义subGridModel;
subGridModel : [
{ name : ['name_1','name_2',…,'name_n'], //name为子表格label
width : [width_1,width_2,…,width_n] ,
align : ['left','center',…,'right'] ,
params : [param_1,…,param_n], //当子表格发送请求时,需要请求参数时,与主表格colmodel对应的name的值,不建议使用
mapping:['name_1_map','name_2_map',…,'name_n_map']} //mapping为与name映射的值
3、subGridUrl,子表格发送请求;
4、如果想要改变子表格的话,调用subGrid子表格的方法
方法名 | 参数 | 返回类型 | 说明 |
---|---|---|---|
expandSubGridRow | rowid | jqGrid object | 展开指定rowId的子表格 |
collapseSubGridRow | rowid | jqGrid object | 闭合指定rowId的子表格 |
toggleSubGridRow | rowid | jqGrid object | 重新加载指定rowid的子表格 |
subGridJson | json, rowid | false | 在指定rowid的子表格里面添加数据,json为添加的数据,数据类型的json类型 |
subGridXml | xml, rowid | false | 在指定rowid的子表格里面添加数据,xml为添加的数据,数据类型的xml类型,不建议使用 |
jQuery("#orderdatatable").expandSubGridRow(rowId);