欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ext Combobox

程序员文章站 2022-07-13 22:37:51
...

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();
}
},
相关标签: EXT F#