2011-01-26 53 views
1

我在extJS和EditorGridPanel中遇到了一些麻煩。ExtJS:EditorGridPanel和ComboBox問題

我用版本列創建了EditorGridPanel:其中一個可編輯。這個列的編輯器工作正常,但是當我在gridePanel上檢查組合字段時,它插入了一個「壞」值。

這是我的代碼:

this.grid = new Ext.grid.EditorGridPanel({ 
    frame: true, 
    autoHeight: true, 
    id: 'grid-editMc', 
    clicksToEdit: 1, 
    loadMask: true, 
    columnLines: true, 
    store: this.getStore(), 
    sm: selmode, 
    cm: new Ext.grid.ColumnModel({ 
     columns: [{ 
      header: 'Преподаватель', 
      css: 'vertical-align:middle;', 
      dataIndex: 'teacher', 
      sortable: false, 
      editor: this.teacherEdit() 
     }], 

     defaultSortable: true 
    }), 
}) 

例如,在店裏我有record: id:4, teacher:'Mark'。當我更改網格單元格中的組合插入4(不是'標記')。我想要一個單元格值「ID」和文本「老師」。

回答

1

您需要爲您的組合框使用渲染器。

在列模型

,加渲染的項目與組合框

[ 
     { 
      header: 'Преподаватель', 
      css:'vertical-align:middle;', 
      dataIndex: 'teacher', 
      sortable: false, 
      editor: this.teacherEdit(), 
       renderer:teacherRenderer 

     } 
    ] 

然後返回要在價值傳遞的值。您不必在此處返回常量,您可以從記錄中獲取字段,或者在商店中查找以獲取要顯示的值。

var teacherRenderer = function(value,metaData,record){ 
     // try record.data.teacher here 
     return "displayValue" 

}