2012-04-13 2 views
0

ON выберите строку я звонюJava JQGrid TreeGrid - развернуть узел после reloadgrid

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

, после чего, когда сетка перезагружается, я хочу этот узел расширен и показать детям. я пытался делать somethinglike

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

Прежде всего скрыты expanded колонки, которые вы можете заполнить (см here и here). Поэтому, если вы включаете дочерние узлы, которые вам нужно открыть сразу после открытого узла, и установите expanded: true в свои свойства, узел дерева будет отображаться открытым.

Возможно, вы хотите отслеживать, какие узлы открывают пользователя и восстанавливать узлы при следующем посещении той же страницы. В случае, если я перешлю вас на the answer и до this one.

+0

Привет Олег, я уже установили, что в моем DTO на стороне сервера .... расширен: правда, Но она по-прежнему не работает. При расширении узла мы в противном случае делаем вызов на стороне сервера. Мне нужно установить любые другие параметры на сервере, кроме родителя, уровня, листа и расширенного. –

+0

@komalsalvi: Не могли бы вы добавить свой вопрос с данными JSON, возвращаемыми с сервера? Вы можете использовать вкладку [Fiddler] (http://www.fiddler2.com/fiddler2/), [Firebug] (http://getfirebug.com/) или «Сеть» в Инструментах разработчика IE или Chrome, чтобы уловить HTTP-трафик , – Oleg

+0

{"id": 4501, "businessAreaName": "ABC", "parent": null, "level": 0, "leaf": false, "extended": true} –

Смежные вопросы