jqgrid 树树形结构显示行号
时间: 2023-07-25 18:30:16 浏览: 163
要在 jqGrid 的树形结构中显示行号,可以使用 `treeReader` 属性中的 `level_field` 字段和 `rownum` 方法。
首先,在 jqGrid 的 colModel 中添加一个隐藏列,用于保存每个节点的层级信息:
```javascript
{
name: 'level',
hidden: true,
width: 1,
sortable: false
}
```
然后,在 `treeReader` 属性中设置 `level_field` 为该列的名称:
```javascript
treeReader: {
level_field: 'level'
}
```
最后,使用 `rownum` 方法来计算每个节点的行号,并在 `gridComplete` 事件中更新每行的行号:
```javascript
gridComplete: function() {
var rows = $(this).jqGrid('getRowData');
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var level = parseInt(row.level);
var rownum = i + 1;
if (level > 0) {
rownum = $(this).jqGrid('getNodeParent', row).rownum + '.' + rownum;
}
$(this).jqGrid('setRowData', row.id, {rownum: rownum});
}
}
```
这样,就可以在树形结构中显示行号了。
阅读全文