欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Extjs renderer函数

程序员文章站 2022-03-26 14:30:16
昨天提到了改变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;
}

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

Extjs renderer函数