ext combox treeview

通过combox去选择显示哪科树,默认加载时显示树1,但选择树2时,后台有Json数据返回,但reload树不显示,只能选择树1时显示树1,不知怎么回事?
var urlUser;

var userTreeType = [['tree1', '树1], ['tree2', '树2]];
var userStore = new Ext.data.SimpleStore({
fields:['value','text'],
data:userTreeType
} )
urlUser = 'tree1.do';

// 创建tree的面板即TreePanel
var user_tree= new Ext.tree.TreePanel(
  {       
  id: 'user-tree',// 设置一个id
  autoScroll: true,// 自动出现滚动条
  enableDD: false,// 是否支持拖拽效果
  containerScroll: true,// 是否支持滚动条
  rootVisible: false,// 是否显示跟节点
  tbar: [      {
      xtype: 'combo',
      id: 'userTreeModel',
      mode: 'local',
      width: 200,
      height: 20,
      editable: false,
      store: userStore,
      value: titleUser,
      triggerAction: 'all',
      valueField:'value',
      displayField:'text',
      value:'tree1',
      listeners : {
        'select' : function(comboBox) {
            var typeUser = comboBox.getValue();
           
        if(typeUser != null && typeUser=="tree1")
        { 
          urlUser = 'tree1.do';
          }
        else if(typeUser != null && typeUser=="tree1")
        { 
          urlUser = 'tree2.do';
        }
          var loader = user_tree.getLoader();
        loader.dataUrl = urlUser;
        user_root.reload();         
        user_tree.body.mask('数据加载中……', 'x-mask-loading');//给tree的body加上蒙版
                                    user_tree.root.expand(true,false,function(){
                                    user_tree.body.unmask();//全部展开之后让蒙版消失
                                    })
        }
      }
      }], 
  loader: new Ext.tree.TreeLoader(
  {
    dataUrl: urlUser
    }), 
  listeners : {
  'beforerender'unction(){   
    //var tree = Ext.getCmp('user-tree');
    //var tree_url = urlAction;
    //alert("urlAction is " + tree_url);
    //tree.loader.dataUrl = tree_url;
    // alert("===="+tree.loader.dataUrl);
  }
  },
  tools: [
    {
      id: 'refresh',// 根据id的不同会出现不同的按钮
      handler: function(){
      var treeTemp= Ext.getCmp('user-tree');
      treeTemp.root.reload();// 让根节点重新加载
      treeTemp.body.mask('数据加载中……', 'x-mask-loading');// 给tree的body加上蒙版
      treeTemp.root.expand(true, false, function(){
          tree.body.unmask();// 全部展开之后让蒙版消失
        });
      }
    }]
  });
// 创建根节点
var user_root= new Ext.tree.AsyncTreeNode(
  {
  text: '用户',
  draggable: false,// 是否可以拖拽
  id: 'user-tree-Root'
  });
// 设置树的根节点
user_tree.setRootNode(user_root);
user_root.expand(true, false, function(){
  if(typeof(user_tree.getRootNode().childNodes[0]) != "undefined"){
    (user_tree.getRootNode().childNodes[0]).select();
  }
  });
// 给tree的节点添加点击事件
user_tree.on('click', this.treeClick, this);
// tree点击事件实现,在这个事件中会有一个参数,为点击当前节点
function treeClick(node){
var nodeId= node.id;
alert("nodeId is " + nodeId);
}

来源:一起Ext
原文地址:http://www.17ext.com/showtopic-5818.aspx

posted @ 2010-05-10 22:47  夜色狼  阅读(643)  评论(0)    收藏  举报