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; }
用来把鼠标移到单元格上,弹出提示。这个方法对于某列数据不能完全显示出来时,就特别管用。