this.combo = Roo.factory(this.combo, Roo.form);
this.combo.onRender(ct, position);
+ // assigned so form know we need to do this..
+ this.store = this.combo.store;
+ this.valueField = this.combo.valueField;
+ this.displayField = this.combo.displayField ;
+
this.combo.wrap.addClass('x-cbarray-grp');
{
// returns hidden if it's set..
if (!this.rendered) {return ''};
- return this.hiddenListName;
+ return this.hiddenName ? this.hiddenName : this.name;
},
onResize: function(w, h){
+ return;
+ // not sure if this is needed..
this.combo.onResize(w,h);
if(typeof w != 'number'){
},
setValue: function(v) // not a valid action - must use addItems..
{
- if (typeof(v) != 'object') {
- return;
+
+
+ if (this.store.isLocal) {
+ // then we can use the store to find the values..
+ // comma seperated at present.. this needs to allow JSON based encoding..
+ this.hiddenField.el.value = v;
+ var v_ar = [];
+ Roo.each(v.split(','), function(k) {
+ var li = this.store.query(this.store.valueField, k);
+ if (!li.length) {
+ return;
+ }
+ add = {};
+ add[this.store.valueField] = k;
+ add[this.store.displayField] = li.item(0).data[this.store.displayField];
+
+ this.addItem(add);
+ }, this)
+
+
+
}
- var _this = this;
- Roo.each(v, function(l) {
- _this.addItem(l);
- });
+
},
+ setFromData: function(v)
+ {
+ Roo.log(v);
+
+
+ },
+
+
validateValue : function(value){
return Roo.form.ComboBoxArray.superclass.validateValue.call(this, this.getValue());