2013-10-25 25 views
1

我正在使用ExtJS 4.2.1中的網格面板。我有一些列編輯器定義:'textfield'(可編輯的列),一些沒有編輯器(只讀列)。如何臨時突出顯示Ext JS網格面板(版本4.2.1)的可編輯列

我想要什麼?

我想臨時突出顯示帶有背景顏色的可編輯列,並將鼠標懸停在該特定列上。

我請求幫助。請指導。我已經白白耗費大量的時間在它和所有:(

問候, 賈普里特·辛格

任務 - 當鼠標放置在編輯的欄1和表2(具有編輯器配置選項),我想要的目標列將與一些色澤鮮豔的幾秒鐘暫時突出。

Ext.define('XX.view.account.Portfolios', { 
extend : 'Ext.grid.Panel', 
plugins : { 
    ptype : 'cellediting', 
    clicksToEdit : 1 
}, 
columns : [{ 
    text : 'Read Only 1', 
    flex : 1, 
    sortable : true, 
    dataIndex : 'ro1' 
}, { 
    text : 'Read Only 2', 
    flex : 2, 
    sortable : true, 
    dataIndex : 'ro2' 
}, { 
    text : 'MV', 
    flex : 1, 
    sortable : true, 
    dataIndex : 'mv' 
}, { 
    text : 'Editable 1', 
    flex : 1, 
    sortable : true, 
    dataIndex : 'e1', 
    editor : 'textfield' 
}, { 
    text : 'Editable 2', 
    flex : 1, 
    sortable : true, 
    dataIndex : 'e2', 
    editor : 'textfield' 
} 
+1

陷阱鼠標懸停事件並使用.getEl()亮點()方法。 –

回答

2

正如洛倫茲建議你可以趕上itemmouseenter事件再突出編輯的行調用亮點方法,ORD呃只強調已編輯相關的,你大概可以使用適用於那些列一類,然後選擇鼠標上的匹配元素進入事件處理的細胞,這樣的事情:

itemmouseenter: function (grid, record, item, index, e, eOpts) { 
     var node = grid.getNode(record); 
     var cells = Ext.dom.Query.select('.editable-cell', node); 

     for (var i = 0; i < cells.length; i++) { 
      Ext.fly(cells[i]).highlight(); 
     } 
    } 

你可以看到一個working sample here 。 希望它可以幫助您解決問題

+0

我缺乏言語來感謝你。大的幫助。非常感謝。很好的工作:) –

+0

不工作在IE :(我使用IE9。請指導。我也嘗試過動畫css選項下面提到。沒有工作。 –

+0

你解決了你的問題?如果不是你能提​​供一個示例代碼,所以我可以試一試?對於延遲響應抱歉我整個週末都離開了電腦 – overlordhammer