this.combo = Roo.factory(this.combo, Roo.form);
this.combo.onRender(ct, position);
+ if (typeof(this.combo.width) != 'undefined') {
+ this.combo.onResize(this.combo.width,0);
+ }
+
+ this.combo.initEvents();
// assigned so form know we need to do this..
this.store = this.combo.store;
{
this.reset();
-
- if (this.store.isLocal) {
+
+
+
+ if (this.store.isLocal && (typeof(v) == 'string')) {
// then we can use the store to find the values..
// comma seperated at present.. this needs to allow JSON based encoding..
this.hiddenEl.value = v;
this.addItem(add);
}, this)
-
-
-
+
+ }
+ if (typeof(v) == 'object') {
+ // then let's assume it's an array of objects..
+ Roo.each(v, function(l) {
+ this.addItem(l);
+ }, this);
+
}
if (typeof(v[this.valueField]) != 'string' || !v[this.valueField].length) {
return;
}
- var keys = v[this.valueField].split(',');
- var display = v[this.displayField].split(',');
+ var kv = v[this.valueField];
+ var dv = v[this.displayField];
+ kv = typeof(kv) != 'string' ? '' : kv;
+ dv = typeof(dv) != 'string' ? '' : dv;
+
+
+ var keys = kv.split(',');
+ var display = dv.split(',');
for (var i = 0 ; i < keys.length; i++) {
add = {};