我知道我可以通过使用Ext.Util.Format类来格式化 ExtJs 网格的列。我想知道如何应用以下格式类型:
- 显示一个数字的百分比符号而不将其乘以 100。因此,如果该值为 10.34,则应显示 10.34%,现在显示为 1034%。
- 如果数字为负数,则应在括号内以红色显示。所以 -23 应该以红色显示为 (23)。
谢谢
我知道我可以通过使用Ext.Util.Format类来格式化 ExtJs 网格的列。我想知道如何应用以下格式类型:
谢谢
我希望有更多的细节:
无论如何,我可以试一试(你应该先阅读文档)。
渲染器 1:
renderer: function (value) {
return value + '%';
}
渲染器 2:
renderer: function (value) {
return value < 0
? '<span style="color:red">(' + Math.abs(value) + ')</span>'
: value;
}
弗兰肯斯坦的怪物:
renderer: function (value) {
return value < 0
? '<span style="color:red">(' + Math.abs(value) + '%)</span>'
: value + '%';
}
是的,您可以通过renderer
概念来实现,请参考以下示例进行查询。
{
text : 'Number (Percentage)',
width : 80,
sortable : true,
renderer : function(val) {
if (val > 0) {
return '<span style="color:green;">' + val + '</span>';
} else if (val < 0) {
return '<span style="color:red;">' + val + '</span>';
}
return val+"%";
},
dataIndex: 'numberChange' // place your dataindex binding here
}
谢谢,希望对你有帮助...
您可以轻松地为列实现渲染器,并根据需要转换结果。您所要做的就是从渲染器返回转换后的字符串;另外,您可以访问完整Ext.data.Record
的网格行(以及商店,就此而言),因此如果需要,您还可以轻松地根据记录中的其他数据进行自定义渲染。