2014-02-19 44 views
0

我在ExtJs3.2上。
有一個gridpanel,其中有一個textField作爲編輯器。
在文本框中的值的變化 - 我需要相應的行被突出顯示。
如何獲得文本字段的「擁有」行索引?突出編輯上的網格行

columns: [ 
     ........... 
      {header: 'Revenues',dataIndex: 'percentage', 
       editor: new Ext.form.TextField({ 
        listeners: { 
         'change' : function (field, newValue, oldValue) { 
          if(oldValue!=newValue){ 
         ....... 
         //How do I get the row index? 
         Ext.fly(grid.getView().getRow(row)).addClass('yellow-row'); 
         } 
        } 
      } 

有沒有其他辦法可以達到這個目的?

回答

0

您能否請在下面嘗試?

var grid = Ext.grid.GridPanel({ 
    store: yourStore, 
    id: 'myGrid', 
    colModel: new Ext.grid.ColumnModel({ 
     defaults: { 
      width: 120, 
      sortable: true 
     }, 
     columns: [ 
      {id: 'Company', header: 'Company', width: 120, sortable: true, dataIndex: 'company'}, 
      {header: 'Change', dataIndex: 'change'}, 
      { 
       header: 'Revenue', 
       dataIndex: 'percentage', 
       editor: new Ext.form.TextField({ 
        listeners: { 
         'change': function(field, newValue, oldValue) { 
          if (oldValue != newValue) { 
           var sel = Ext.getCmp('myGrid').getSelectionModel().getSelected(); 
           // if you select more than one record use getSelections instead of getSelected 
           console.log(sel); 
          } 
         } 
        } 
       }) 
      } 
     ] 
    }), 
    sm: new Ext.grid.RowSelectionModel({singleSelect: true}), 
    width: 500, 
    height: 300, 
    frame: true, 
    title: 'My Grid' 
}); 
+0

,將無法正常工作 - 所選擇的行的變化 - 由於在情況下,用戶填充字段之後選擇另一行。 – IUnknown

+0

我不明白。如果您得到選定的行索引,爲什麼不設置背景顏色? –

+0

如果填充第1行的Revenue字段;然後用鼠標單擊第2行 - 而不是按下Enter或Tab,則getSelected()返回row2而不是row1。 – IUnknown