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

Ext Combobox

    博客分类:
  • Ext
EXT 
阅读更多
setValue : function(v) {
		var index=0;
		var len=v.split(this.separator).length;
		if(len==1 && !this.displayValue){
			var snapshot = this.store.snapshot || this.store.data;
			snapshot.each(function(r) {
				if(r.get(this.valueField)==v){
					index=1;
					return false;
				}
			},this);
		}
		if(index!=1){
			this.value = v;
			this.setRawValue(v);
		}
	},
	onSelect : function(record, index) {
		if (this.check) {
			if (this.fireEvent('beforeselect', this, record, index) !== false) {
				record.set(this.checkField, !record.get(this.checkField));
				if (record.data['text'] == this.selectAllTxt) {
					if (record.get(this.checkField)) {// 全选
						this.hasSelectAll = true;
						this.selectAll();
					} else {// 全取消
						this.hasSelectAll = false;
						this.deselectAll();
					}
				} else {
					if (this.displayValue) {
						this.setValue(this.getCheckValue());
					} else {
						var rst = this.getCheckDisplay();
						this.setValue(rst)
					}
					this.checkSelectAll();
				}
				this.fireEvent('select', this, record, index);

			}
		} else {
			this.hiddenValue = record.data['value'];// 非复选模式下存放隐藏的值
			this.valueField = undefined;// 如果要求在不显示复选框时也在文本框中显示VALUE的值,则去掉这行
			Dma.common.DmaCommon.superclass.onSelect.call(this, record, index);
		}
		//Ext.Msg.alert("", this.hasSelectAll);
	},
/*	beforeBlur : function() {
		if (this.displayValue) {
			this.setValue(this.getCheckValue());
		} else {
			var rst = this.getCheckDisplay();
			this.setValue(rst)
		}
	},
	onRealBlur:function(){
		if (this.displayValue) {
			this.setValue(this.getCheckValue());
		} else {
			var rst = this.getCheckDisplay();
			this.setValue(rst)
		}
	},*/

	selectAll : function() {
		this.store.each(function(record) {
					// toggle checked field
					record.set(this.checkField, true);
				}, this);
		if (this.displayValue) {
			this.setValue(this.getCheckValue());
		} else {
			this.setValue(this.getCheckDisplay())
		}
	},
	deselectAll : function() {
		this.clearValue();
	},
	clearValue : function() {
		this.value = '';
		this.hiddenValue = "";
		this.setRawValue(this.value);
		this.store.clearFilter();
		this.store.each(function(r) {
					r.set(this.checkField, false);
				}, this);
		if (this.hiddenField) {
			this.hiddenField.value = '';
		}
		this.applyEmptyText();
	},

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics