1

こんにちは、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();
                }
            }
        });
4

0 に答える 0