java JQGrid TreeGrid - 在reloadgrid之后展开节点

时间:2012-04-13 07:05:44

标签: jqgrid

选择要调用的行

   $('#grid').trigger('reloadGrid');

之后,当网格重新加载时,我希望此节点展开并显示子节点。 我尝试做类似的事情

var rootNode = $('#grid').jqGrid('getRowData')[0];
           $('#grid').jqGrid('expandRow'   ,rootNode);
           $('#grid').jqGrid('expandNode'  ,rootNode);  
           $('#grid').jqGrid('setSelection',rootNode.id);   

但这似乎不起作用, 任何帮助表示赞赏。

我的网格对象如下

    var grid = $('#grid').jqGrid({
        treeGrid: true,
        treeGridModel: 'adjacency',
        ExpandColumn: 'businessAreaName',
        ExpandColClick : false,
        url:'/records.do',
        datatype: 'json',
        mtype: 'GET',
        colNames:['Id'
                  , 'Business Area'
                  , 'Investment'                  
                  ],
        colModel:[
/*00*/          {name:'Id',index:'Id', width:0, editable:false,hidden:true},
/*01*/          {name:'businessAreaName',index:'businessAreaName', width:160, editable:false}

        ],
        treeReader : {
            level_field: 'level',
            parent_id_field: 'parent', 
            leaf_field: 'leaf',
            expanded_field: 'expanded'
        },
        autowidth: true,
        height: 240,
        pager: '#pager',
        sortname: 'id',
        sortorder: 'asc',
        caption:'ATP ScoreCard',
        emptyrecords: 'Empty records',
        loadComplete: function() {
            designtable();          
        },
        jsonReader : {
            root: 'rows',
            page: 'page',
            total: 'total',
            records: 'records',
            repeatitems: false,
            cell: 'cell',
            id: 'agileProgrammeId'
        },
        beforeProcessing : function(data, status, xhr){
            }
        }
    });

1 个答案:

答案 0 :(得分:1)

首先,您可以填写隐藏的expanded列(请参阅herehere)。因此,如果您在要打开的节点之后包含需要直接打开的节点的子节点,并在其属性中设置expanded: true,则树节点将显示为已打开。

您可能希望跟踪哪些节点打开用户并在下次访问同一页面时还原节点。在这种情况下,我会将您转发到the answerthis one

相关问题