昨天提到了改變grid中 行的背景顏色,其實還有一個更簡單的方法,就是利用renderer:function(){}函數 renderer 函數是一個攔截者模式,用於改變渲染到單元格的值和樣式。 不過測試的時候發現IE11顏色顯示不出來。畢竟是與宇宙為敵的瀏覽器,就不去管了。 這個方法昨天的文章中也 ...
昨天提到了改變grid中 行的背景顏色,其實還有一個更簡單的方法,就是利用renderer:function(){}函數
renderer 函數是一個攔截者模式,用於改變渲染到單元格的值和樣式。
renderer:function(value,cellmeta,record,rowIndex,columnIndex,store){ cellmeta.style=“background-color:XXXX"; return value; } 1.value是當前單位格的值 2.cellmeta里保存的是cellId單位格id,id是列號,css是這個單位格的css樣式。 - 當前單元格的元數據集合,通過渲染器可以直接使用或者修改其部分屬性值,常用的屬性有:tdCls、tdAttr、style。 3.record是所在行數據,你想要什麼,record.data["id"]就獲得了。 4.rowIndex是行號,不是從頭往下數的意思,而是分頁後的成果。 5.columnIndex列號。 6.store,這個是你創建表格時辰傳遞的ds,也就是說表格裡所有的數據,你都可以隨便調用。 7.return : String The HTML string to be rendered. 返回一個被渲染的 HTML 文本串
不過測試的時候發現IE11顏色顯示不出來。畢竟是與宇宙為敵的瀏覽器,就不去管了。
這個方法昨天的文章中也有提到過,對,就是這個
renderer:function (value, metaData, record, rowIdx, colIdx, store){ metaData.tdAttr = 'data-qtip="' + Ext.String.htmlEncode(value) + '"'; return value; }
用來把滑鼠移到單元格上,彈出提示。這個方法對於某列數據不能完全顯示出來時,就特別管用。