Ext 4 下拉菜单 树形

 Ext.define("Ext.ux.comboboxtree", {
extend : "Ext.form.field.Picker",
requires : ["Ext.tree.Panel"],
initComponent : function() {
 var self = this;
 Ext.apply(self, {
    fieldLabel : self.fieldLabel,
    labelWidth : self.labelWidth     
   });
 self.callParent();
},
createPicker : function() {
 var self = this;
 var store = Ext.create('Ext.data.TreeStore', {
    proxy : {
     type : 'ajax',
     url : self.storeUrl
    },
    sorters : [{
       property : 'leaf',
       direction : 'ASC'
      }, {
       property : 'text',
       direction : 'ASC'
      }],
    root : {
     id : self.rootId,
     text : self.rootText
    },
    nodeParameter : self.treeNodeParameter
   });
 self.picker = new Ext.tree.Panel({
    height : 300,
    autoScroll : true,
    floating : true,
    focusOnToFront : false,
    shadow : true,
    ownerCt : this.ownerCt,
    useArrows : true,
    store : store,
    rootVisible : false,
    listeners:{
 itemclick:function(view,mode,item,index,e){
    com.setValue(mode.raw.text);
    self.picker.hide();
}
}
   });
 self.picker.on({
  checkchange : function() {
   var records = self.picker.getView().getChecked(), names = [], values = [];
   Ext.Array.each(records, function(rec) {
      names.push(rec.get('text'));
      values.push(rec.get('id'));
     });
   self.setRawValue(values.join(';'));// 隐藏值
   self.setValue(names.join(';'));// 显示值
  }
 });
 return self.picker;
},
alignPicker : function() {
 var me = this, picker, isAbove, aboveSfx = '-above';
 if (this.isExpanded) {
  picker = me.getPicker();
  if (me.matchFieldWidth) {
   picker.setWidth(me.bodyEl.getWidth());
  }
  if (picker.isFloating()) {
   picker.alignTo(me.inputEl, "", me.pickerOffset);// ""->tl
   isAbove = picker.el.getY() < me.inputEl.getY();
   me.bodyEl[isAbove ? 'addCls' : 'removeCls'](me.openCls
     + aboveSfx);
   picker.el[isAbove ? 'addCls' : 'removeCls'](picker.baseCls
     + aboveSfx);
  }
 }
}
});
var com =Ext.create("Ext.ux.comboboxtree", {
    id:'name',
    name:'name',
    hiddenName:'hiddenName',
    storeUrl : "companyTypeTree",
    width : 270,
    fieldLabel : '企业类别',
    rootId : '0',
    rootText : '企业类别',
    x:15,
    y:40,
    treeNodeParameter : 'pNode'
   }); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值