急问:ExtJS 4.1 tree 重新加载数据

张婉玲 发布于 2012/07/30 11:38
阅读 3K+
收藏 0
问题:
我现在想根据: 每次选择下拉框的数据时,重新加载tree的数据。
请问要怎样重新加载tree的数据?

我用的是ExtJS 4.1,请各位指教!

<div id="book">
<?php if(!$this->bookList->isEmpty()){ ?>
<select id="book_item">
<option>请选择科目</option>
<?php foreach($this->bookList as $book){ ?>
<option value="<?php echo $book['id']; ?>"><?php echo $book['name']; ?></option>
<?php }?>
</select>
<?php } ?>
</div>

<div id="book_tree"></div>

<script type="text/javascript">
Ext.onReady(function(){

var combobox = Ext.create('Ext.form.ComboBox', {
transform: 'book_item',
queryMode: 'local',
emptyText: '请选择科目',
listeners: {
'select': function(e, item){
loadBookStructure(e.value);
}
}
});

var loadBookStructure = function(book_id) {
var treeStore = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: '<?php echo linkUri('admin/book/load_structure?bid=')?>' + book_id
},
fields: ['dir', 'total'],
root: {
expanded: true
}
})

console.log();
Ext.get('book_tree').innerHTML = '';
var tree;
tree = Ext.create('Ext.tree.Panel', {
store:treeStore,
renderTo:'book_tree',
title:'Book',
width:400,
height:500,
useArrows:true,
columns:[
{
xtype:'treecolumn',
text:'目录',
dataIndex:'dir',
width:200
},
{
text:'总题数',
dataIndex:'total',
flex:1
}
]
// listeners:{
// 'load':function (e) {
//
// }
// }

});

}



});
</script>
加载中
0
王志湖
王志湖
监听下拉列表的事件,触发事件的时候reload tree的数据
0
Jason阿坚
Jason阿坚
listeners:{expand:function(){}
张婉玲
张婉玲
谢谢大家的解答,我已经解决了!
返回顶部
顶部