extjs grid 中显示金额时使用金额单位

extjs grid 中显示金额时使用金额单位


        在实际的grid 的应用中,有时候金额会很大,看起来不直观,需要显示成以万、百万、亿为单位,重新制作一个renderer,使其可以完成这个需求。


Ext.onReady(function() {
			// 可以制作一个控件,来修改这二个属性,达到可以修改金额单位的目的
			Ext.monetary = '万'; // 加在数字后面的金额单位
			Ext.monetaryUnit = 10000;

			// Ext.monetary = '亿';
			// Ext.monetaryUnit = 10000*10000;

			if (Ext.util && Ext.util.Format) {

				Ext.apply(Ext.util.Format, {
							monetary : function(val) {
								if (val) {
									if (Ext.monetaryUnit && Ext.monetaryUnit != 1)
										val = val / Ext.monetaryUnit;
									// 正数用蓝色显示,负数用红色显示
									return '' + Ext.util.Format.number(val, '0,000.00')
											+ Ext.monetary + '';
								} else
									return ''; // 如果为0,则不显示
							}
						})
			};
		});



在grid中定义columns时,加入如下:

 {
		text : 'Price',
		width : 95,
		sortable : true,
		renderer : Ext.util.Format.monetary,
		// formatter : 'monetary', //这种方法也可以
		dataIndex : 'price',
		align : 'right'
}

具体结果: extjs grid 中显示金额时使用金额单位_第1张图片


你可能感兴趣的:(extjs)