ExtJS4新發現04_grid 單擊事件
阿新 • • 發佈:2019-02-07
EXTJS GRID 中 單擊行和單元格獲得行或者單元格的內容(資料)
- grid.addListener('cellclick',cellclick);
- function cellclick(grid, rowIndex, columnIndex, e) {
- var record = grid.getStore().getAt(rowIndex); //Get the Record
- var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //Get field name
-
var data = record.get(fieldName);
- Ext.MessageBox.alert('show','當前選中的資料是'+data);
- }
------------------------------------------------------------------------------
Js程式碼
- grid.on('mouseover',function(e){//新增mouseover事件
- var index = grid.getView().findRowIndex(e.getTarget());//根據mouse所在的target可以取到列的位置
-
if(index!==false){//當取到了正確的列時,(因為如果傳入的target列沒有取到的時候會返回false)
- var record = store.getAt(index);//把這列的record取出來
- var str = Ext.encode(record.data);//組裝一個字串,這個需要你自己來完成,這兒我把他序列化
- var rowEl = Ext.get(e.getTarget());//把target轉換成Ext.Element物件
- rowEl.set({
- 'ext:qtip':str //設定它的tip屬性
- },false);
- }
- });
---------------------------------------------------------------------------------
Js程式碼
- listeners: {
- 'cellclick':function(grid,rowIndex,columnIndex,e ){ }
- }
- //這是單擊grid單元格時,觸發的事件
Js程式碼
- grid.getView().getCell(rowIndex,columnIndex).style.background-color="#FF6600";
- grid.getView().getCell(rowIndex,columnIndex).style.color="#FF6600";
把表格重新整理下可以把以前單擊而改變的顏色還原,grid.getView().refresh(); 然後再讓這次單擊的單元格變色。
Js程式碼
- grid.getView().refresh();
- grid.getView().getCell(rowIndex,columnIndex).style.backgroundColor="#FF9999";