如何在jqgrid中动态更改展开列的级别?

如何在jqgrid中动态更改展开列的级别?,jqgrid,Jqgrid,我使用的jqgrid树网格具有以下配置 colModel : [ { name:'id',width : 30, editable : false, align:"right",sortable : false, hidden : true, key : true, hidedlg:true }, { name:'no',width

我使用的jqgrid树网格具有以下配置

colModel  :  
        [
            {
                name:'id',width :  30, editable : false, align:"right",sortable : false, hidden :  true, key :  true, hidedlg:true
            },
            {
                name:'no',width : 50, editable : false, align:"left", sortable : true,sorttype:"text"
            }
            },
            {
                name:'name', width : 300, editable : true, sortable : true, sorttype:"text"
            }
       ],

treeGridModel:'adjacency',
ExpandColumn:'name'
treeGrid: true,
cellEdit: true,
sortable: true,

根据上面的配置,name是我的expand字段,我将基于服务器的某个层次结构的级别作为json数据传递。用户可能希望在运行时更改层次结构。因此我应该更改name字段的级别和缩进。我可以使用“setCell”方法设置级别,但缩进不会更新,如何更改缩进?请帮助

设置
级别的新值
不是那么容易。简单使用
setCell
将不起作用。让我们知道要将
级别
更改为
新级别
rowid
值。我认为代码应该包括以下内容:

var$iconDiv,iCol,
$tr=$('#'+$.jgrid.jqID(rowid)),//获取树行
rowData=$myGrid.jqGrid('getLocalRow',rowid),
$grid=$(“#列表”),//grid
getColumnIndexByName=函数(myGrid,columnName){
var cm=myGrid.jqGrid('getGridParam','colModel'),i,
l=厘米长;
对于(i=0;i
我可以使用setTreeNode(iRow,level)吗?@pavi:我不确定,但我想你不能。为了确保这一点,必须检查
setTreeNode
的完整代码并对其进行调试。
setTreeNode(i,len)
内部将修改行索引为
i
的行,直到行索引为
len
的行。如果我理解您的意思是正确的,那么您只需要使用索引
iRow
调整一行的级别。因此
setTreeNode(iRow,level)
将不需要您需要。不,我必须根据层次结构调整整个树。我使用了setTreeNode,但有一件事我不明白,该方法一次执行多少缩进?因为对我来说,它是两次缩进。@pavi:你应该更准确地描述你需要什么。您的问题的当前文本(如“用户可能希望在运行时更改层次结构”)太不清楚。“用户可能希望在运行时更改层次结构”意味着用户可以左缩进和右缩进名称,为此我给出了按钮。我在哪里可以找到setTreeNode的文档?你能给我一些有文档的链接吗。