2013-04-23 52 views
2

我想重新配置现有的树。列被更新,但商店/数据没有。重新配置Ext.tree.Panel

handler: function() {   
    var newStore = Ext.create('Ext.data.TreeStore', { 
     fields: [ 'C4', 'C5', 'C6' ], 
     root: { 
      text: '.', 
      children: [ 
       { 'C4': 4, 'C5': 5, 'C6': 6 }, 
       { 'C4': 4, 'C5': 5, 'C6': 6 }, 
       { 'C4': 4, 'C5': 5, 'C6': 6 }, 
       { 'C4': 4, 'C5': 5, 'C6': 6 } 
      ] 
     } 
    }); 

    var newCols = [ 
     { text: 'C4', dataIndex: 'C4' }, 
     { text: 'C5', dataIndex: 'C4' }, 
     { text: 'C6', dataIndex: 'C4' } 
    ]; 

    tree.reconfigure(newStore, newCols); 
} 

http://jsfiddle.net/fR3z3/2/

有什么建议?

回答

1

该树不更新其根节点。致电tree.reconfigure我必须致电

newStore.setRootNode(newStore.getRootNode()); 

而现在它的工作。

下一个问题,如果我添加新的cols,这些cols的数据将不会绑定到树形网格。我必须定义一个新的模型。

以下是完整的工作示例

http://jsfiddle.net/kleines0eichhoernchen/fR3z3/3/