jqgrid remapColumns 调整列的显示顺序

  • Post author:
  • Post category:其他


列的起始显示顺序从0开始计数,第一个位置对应于第一列,依此类推。例如,如果在colModel中定义了4列,则以[0,1,2,3]为例。在对列进行重新排序之后,数组可以如下所示:[1,0,3,2]。这意味着第一列(0)移动到第二位置(1),第三列(2)移动到四个位置(3)

//语法
$("#gridTable").remapColumns('permutation','updateCells','keepHeader')
//permutation : 为当前列的顺序,例如:[0,1,2]
//updateCells:为ture则是对单元格数据进行重新排序
//keepHeader:为true则对header数据显示位置进行调整

代码实例:

//jqgrid初始化
var isRowNumBers = false;//是否显示行顺序号,默认不显示
 $('#gridTable').jqGrid({
	url:"",
	……
	colModel:[
		{label: '代码', name: 'dm', index: 'dm'},
		{label: '名称'1, name: 'mc1', index: 'mc1'},
		{label: '名称2', name: 'mc2', index: 'mc2'},
		{label: '名称'3, name: 'mc3', index: 'mc3'},
	],
	rownumbers: isRowNumBers ,
	……
 });


列的顺序为[0,1,2,3]

,当初始时设置

isRowNumBers = true

,会在表格左边新增一列,显示行顺序号。

此时的列的顺序为[0,1,2,3,4]


测试数据:

代码 名称1 名称2 名称3
1 01 1测试01 2测试01 3测试01
2 02 1测试02 2测试02 3测试02
//将名称3调整到代码前面
$("#gridTable").remapColumns([0,4,1,2,3], true)

列表数据显示为:

名称3 代码 名称1 名称2
1 3测试01 01 1测试01 2测试01
2 3测试02 02 1测试02 2测试02

执行成功之后,列的显示顺序会从新排序,所以列的显示顺序还是[0,1,2,3,4]”,此时

名称3

“的顺序为

1

//将列表还原为最初的样式
$("#gridTable").remapColumns([0,2,3,4,1], true)



版权声明:本文为wangwan1996原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。