Extjs4 combobox displayValue im Netz
Bitte, helfen.
Ich will mich zeigen, meine displayValue
im Netz.
Ich fand die Lösung hier, aber ich kann nicht verstehen, wie es zu benutzen. Mein code:
columns:[...,{
header: 'Product',
id: 'combo',
locked: true,
dataIndex: 'prod_id',
editor: {
xtype: 'combobox',
store: new Ext.data.Store({
fields: ['value','display'],
data: prod_list
}),
displayField: 'display',
valueField: 'value'
}
},...]
Lösung
Ext.util.Format.comboRenderer = function(combo){
return function(value){
var record = combo.findRecord(combo.valueField || combo.displayField, value);
return record ? record.get(combo.displayField) : combo.valueNotFoundText;
}
}
{
header: 'Товар',
id: 'combo',
locked: true,
dataIndex: 'prod_id',
editor: MyEditor,
renderer: Ext.util.Format.comboRenderer(MyEditor)
}
Ich versucht zu definieren, editor außerhalb der Spalte-array.
var MyEditor = new Ext.form.field.ComboBox({
store: new Ext.data.Store({
fields: ['value','display'],
data: prod_list
}),
displayField: 'display',
valueField: 'value'
});
Und alles ist in Ordnung, aber ich kann ihn nicht Bearbeiten. Was ist das problem?
Sorry für mein Englisch.
Sie sollten wahrscheinlich posten Sie Ihre Lösung als Antwort und dann zu akzeptieren, so dass diese Frage nicht als 'unbeantwortet' von stackoverflow.
InformationsquelleAutor lysenkobv | 2011-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
...
InformationsquelleAutor lysenkobv
Ihnen fehlen celleditor plugin.
Ist es am besten, wenn Sie definieren den renderer als wiederverwendbares Objekt, so dass Sie weltweit die Steuerung des Verhaltens Ihrer combo Spalten.
Da Sie über ExtJS4, ich fügte hinzu, einen alternativen Weg zu zeigen, der displayField der combo-editor in einer Zelle, ohne zu definieren, der editor, die außerhalb des Bereichs einer Spalte.
Definieren Sie zuerst die renderer:
Dann geben Sie Ihrem Netz einen cellediting plugin:
Und schließlich weisen Sie die ComboRenderer um Ihre Spalte renderer-Eigenschaft wie folgt:
InformationsquelleAutor cosbor11