2012-01-27 44 views
0

我在尋找如何解決這個問題。我有什麼:ExtJS 4 celleditor組合框返回值

  • 網格面板
  • 格渲染
  • 格編輯器 - 組合框

我的渲​​染是:

renderer: function(value) { 
    return value || "—"; 
} 

所以,如果value參數定義,它會被顯示,否則我們將顯示

編輯器:

editor: { 
    xtype: "combobox", 
    store: Ext.create("Ext.data.Store", { ... }), 
    displayField: "name", 
    valueField: "id", 
    queryMode: "local" 
} 

當編輯從valueField完成值將返回並推入渲染器作爲參數,所以我會看到在小區入口的ID。

我的問題是,我想在單元格中(將它推入渲染器)來顯示從displayField值,但record應該包含條目的ID(valueField值)。

在此先感謝。

回答

1

如果renderer的文檔是正確的,則傳遞到renderer的第三個參數是record。你可以修改它(設置'ID')renderer

renderer: function(value, meta, record) { 
    // value == valueField 
    record.set('ID', value); 

    var displayValue; 
    // displayValue (corresponding to valueField) can be retrieved from combo's store: 
    displayValue = combosStore.find('id', value).get('name'); 
    return displayValue || "—"; 
} 
+1

其中comboStore從哪裏來? – 2014-11-14 14:20:26