0

ON 行を選択して呼び出し中

   $('#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){
            }
        }
    });
4

1 に答える 1

1

まず、expanded入力できる非表示の列があります (ここここを参照)。そのため、開いたノードの直後に開く必要があるノードの子を含めて、expanded: trueそのプロパティに設定すると、ツリー ノードは開いた状態で表示されます。

どのノードがユーザーを開いたのかを追跡し、同じページに次回アクセスしたときにノードを復元したい場合があります。その場合、私はあなたを答えこれに転送します。

于 2012-04-13T08:54:50.647 に答える