2013-10-08 77 views
0

我有一個網格列的組合框編輯器。它也是可編輯的。組合框的商店具有autoLoad配置,設置爲false意味着當用戶單擊組合框時,商店被加載。如果我沒有在組合框中輸入任何內容並點擊它,它會正常工作。但是,如果我在組合框中首先鍵入某個內容,然後單擊外部,然後再次單擊組合框以加載下拉列表,它根本不顯示。它只顯示加載,然後不顯示下拉菜單。ExtJS combobox不顯示值

這是一個非常奇怪的問題,因爲我對其他列也有類似的組合框,並且工作正常,但它們不可編輯。

我已經用這個打破了我很多天,但沒有解決方案!有人可以幫忙嗎?

editor: { 
     xtype: 'combobox', 
     store: contextDropDownStoreforFactGrid, 
     queryMode: 'remote', 
     id: 'fact_contextId', 
     displayField:'context', 
     valueField: 'context', 
     vtype: 'alphanum', 
     listeners: { 
        beforeQuery: function(query) { 
         contextDropDownStoreforFactGrid.removeAll(); 
         contextDropDownStoreforFactGrid.load(); 
        } 
       } 
      } 

該店

var contextDropDownStoreforFactGrid = Ext.create('Ext.data.Store', { 
    fields: [{name:'context',type:'string'}], 
    proxy: { 
     type: 'ajax', 
     url: context + '/FcmServlet', 
     extraParams: { 
      'action': 'getContextDropDownValues' 
     }, 
     reader: { 
      type: 'json' 
     } 
    }, 
    autoLoad: false 
}); 

的JSON是:

[{"context":"Uplift"},{"context":"QTCUplift"},{"context":"MSRP"},{"context":"Khanij"}] 

回答

0

我不知道爲什麼你要加載店前quesry,我的意思是:

listeners: { 
      beforeQuery: function(query) { 
       contextDropDownStoreforFactGrid.removeAll(); 
       contextDropDownStoreforFactGrid.load(); 
      } 
     } 
    } 

如果你刪除了上面的這塊鱈魚e會發生什麼? 你認爲它不會加載商店?我不認爲,像往常一樣,它應該加載。 我猜問題是您加載之前刪除記錄,這是不是在所有必要

contextDropDownStoreforFactGrid.removeAll(); 

每API因爲隨着

beforequery(目標queryEvent)的所有查詢處理

之前觸發

我不認爲之前查詢事件需要明確處理。

+0

我已經刪除了偵聽器,並試過,仍然是同樣的問題! –

0

爲什麼你需要聽者?評論聽衆。應該沒問題。

+0

我已經移除了監聽器並嘗試了,仍然是同樣的問題! –