こんにちは、Extjs 3.4を使用しています。問題は、エディターグリッドパネルが1つあり、パネル内に部門コンボボックスが1つあることです。したがって、最初のページには検索グリッドがあり、グリッドをクリックするとこのページに移動し、ajaxを使用してロードすると、グリッドパネルにコンボボックスの値を入力します。ただし、値が表示されない場合があります。つまり、値が表示されず、そのコンボボックスをクリックした後にのみ表示されます。誰かが問題が何であるかを説明できますか?
よろしくお願いします。お返事をお待ちしております。値を入力している間、グリッドに値を入力している1つのajaxを呼び出していますが、他の列には問題はありません。コンボボックスでのみ、表示されない場合があります。
Ext.util.Format.comboRenderer = function(Departmentscombo){
return function(value){
var record = combo.findRecord(combo.valueField || combo.displayField, value);
return record ? record.get(combo.displayField) : combo.valueNotFoundText;
}
}
Ext.grid.ComboColumn = Ext.extend(Ext.grid.Column, {
constructor: function(cfg){
Ext.grid.ComboColumn.superclass.constructor.call(this, cfg);
this.renderer = Ext.util.Format.comboRenderer(this.editor.field ?
this.editor.field : this.editor);
}
});
Ext.apply(Ext.grid.Column.types, {
combocolumn: Ext.grid.ComboColumn
});
var DepartmentsJReader = new Ext.data.JsonReader
({ root: 'data', id: 'mastercode' },
[{ name: 'mastercode' }, { name: 'description'}]);
Departments_store = new Ext.data.Store
({
proxy: new Ext.data.HttpProxy(
{ url: '', method: 'GET' }),
reader: DepartmentsJReader, autoLoad: true,
listeners:
{
load: function () {
var rec = new Departments_store.recordType({ mastercode:'-', description: '-' });
rec.commit();
Departments_store.insert(0, rec);
Departments_store.commitChanges();
}
}
});