Extjs renderer函数

昨天提到了改变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;
}

用来把鼠标移到单元格上,弹出提示。这个方法对于某列数据不能完全显示出来时,就特别管用。

posted @ 2019-03-28 17:01  ♞⚉♘  阅读(645)  评论(0编辑  收藏  举报