我已启用' rownumber'属性。所以它通过在最左边插入一行来显示行号。所以第一列显示行号。但是我希望在第三列之间显示行号。
有没有办法改变列位置?
答案 0 :(得分:0)
jqGrid的某些列具有特殊含义,将由jqGrid 创建,具体取决于您使用的选项。它是"rn"
(rownumbers: true
),"cb"
(multiselect: true
)和subgrid
(subGrid: true
)。请参阅示例the line代码。 jqGrid代码的许多部分只是测试选项,然后根据列是 jqGrid中的第一个列的假设使用列的索引。因此理论上可能编写可以将原始 "rn"
列移动到另一个位置的代码,但代码将非常棘手且可能很长。例如,查看the answer的演示。
所以我建议你只需将自定义列添加到看起来像"rn"
列的网格中,并用相应的数据填充它。列定义可能如下所示
{ name: "myRowNumbern", width:25, sortable: false, resizable: false, hidedlg: true,
search: false, align: "center", fixed: true,
classes: "ui-state-default jqgrid-rownum" }
更新:我创建了the demo来演示该方法。相应代码中最重要的部分如下:
$("#list").jqGrid({
curRowNum: 1, // current row number parameter used in custom formatter
colModel: [
...
{ name: "myRowNumbern", width: 25, sortable: false, resizable: false,
hidedlg: true, search: false, align: "center", fixed: true,
classes: "ui-state-default jqgrid-rownum",
formatter: function () {
var p = $(this).jqGrid("getGridParam"),
rn = p.curRowNum +
(parseInt(p.page, 10) - 1)*parseInt(p.rowNum, 10);
p.curRowNum++;
return rn.toString();
} },
...
],
loadComplete: function () {
var p = $(this).jqGrid("getGridParam");
p.curRowNum = 1; // reset curRowNum
}
});