`
yangming103
  • 浏览: 8502 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ext Combobox

    博客分类:
  • Ext
阅读更多
Ext.ns("Dma.common");
Dma.common.DmaCommon = Ext.extend(Ext.form.ComboBox, {
	check : true,
	displayValue : false,
	displayAll:true,
	valueText : [],
	displayText : [],
	separator : ',',
	hiddenValue : '',
	flag : 0,
	selectAllTxt : 'SELECT ALL',
	hasSelectAll : false,
	
	initComponent : function() {
		if (this.check) {
			this.tpl = ''
					+ '<tpl for=".">'
					+ '<div  class="x-combo-list-item">'
					+ '<input class="x-form-check-wrap" style="border:none;background:none;" type="checkbox" name="combox" {[values.'
					+ this.checkField + '?"checked":""' + ']}/>{'
					+ this.displayField + '}</div></tpl>';
		} else {
			this.tpl = '<tpl for="."><div class="x-combo-list-item">{'
					+ this.displayField + '}</div></tpl>';
		}

		Dma.common.DmaCommon.superclass.initComponent.apply(this, arguments);
		this.onLoad = this.onLoad.createSequence(function() {
					if (this.el) {
						var v = this.el.dom.value;
						this.el.dom.value = '';
						this.el.dom.value = v;
					}
				});
	},
getCheckValue : function() {
		if (this.check) {
			var rst = [];
			var snapshot = this.store.snapshot || this.store.data;
			var f = false;
			snapshot.each(function(r) {
						if (r.get(this.checkField)) {
							if (r.get(this.displayField) != this.selectAllTxt) {
								rst.push(r.get(this.valueField));
							}
						} else if(r.get(this.displayField) != this.selectAllTxt){
							f = true;
						} 
					}, this);
			if(f)
				this.hasSelectAll = false;
			else
				this.hasSelectAll = true;
			var temp = rst.join(this.separator);
			this.hiddenValue = temp;
			return temp;
		} else {
			this.hiddenValue = this.getValue();
			return this.hiddenValue;
		}
	},
	getCheckDisplay : function() {
		if (this.check) {
			var rst = [];
			var val = [];
			var snapshot = this.store.snapshot || this.store.data;
			var f = false;
			snapshot.each(function(r) {
						if (r.get(this.checkField)) {
							if (r.get(this.displayField) != this.selectAllTxt) {
								rst.push(r.get(this.displayField));
								val.push(r.get(this.valueField));
							}
						} else if(r.get(this.displayField) != this.selectAllTxt){
							f = true;
						} 
					}, this);
			if(f)
				this.hasSelectAll = false;
			else
				this.hasSelectAll = true;
			this.hiddenValue = val.join(this.separator);
			var temp = rst.join(this.separator);
			//this.setRawValue(temp);
			return temp;
		} else {
			this.hiddenValue = this.getValue();
			return this.getValue();
		}
	},
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics