的列索引的列是相同colModel
阵列在塔的所述的jqGrid初始化(它是一样的,在输入参数colModel
)之前的索引。如果使用rownumbers:true
,multiselect:true
或subGrid:true
其他列将作为第一行添加到网格,所以在colModel
数组中作为jqGrid参数的列索引可以是网格初始化之后的其他列。您可以使用例如这个简单的函数来获得指标
var getColumnSrcIndexByName = function(grid,columnName) {
var cm = grid.jqGrid('getGridParam','colModel'),
i=0, index=0, l=cm.length, cmName;
while (i<l) {
cmName = cm[i].name;
i++;
if (cmName===columnName) {
return index;
} else if (cmName!=='rn' && cmName!=='cb' && cmName!=='subgrid') {
index++;
}
}
return -1;
};
var index = getColumnSrcIndexByName($("#list"),'MyColumn');
更新:Free jqGrid叉简化了从列名获取列索引,因为它的内部保存着参数iColByName
,这是由上图列名。人们可以通过
var iColByName = $("#list").jqGrid("getGridParam", "iColByName");
和iColByName["MyColumn"]
刚刚获得iColByName
将所需的列索引(iCol
)。我提醒的是,可以使用getGridParam
不带任何参数,以获得参考jqGrid的所有参数:
var p = $("#list").jqGrid("getGridParam");
值
var iCol = p.iColByName["MyColumn"];
将列索引和p.colModel[iCol].name
将"MyColumn"
。