/**
* @class Ext.grid.column.Number
* @extends Ext.grid.column.Column
*
* A Column definition class which renders a numeric data field according to a {@link #format} string.
*
* {@img Ext.grid.column.Number/Ext.grid.column.Number.png Ext.grid.column.Number cell editing}
*
* ## Code
* Ext.create('Ext.data.Store', {
* storeId:'sampleStore',
* fields:[
* {name: 'symbol', type: 'string'},
* {name: 'price', type: 'number'},
* {name: 'change', type: 'number'},
* {name: 'volume', type: 'number'},
* ],
* data:[
* {symbol:"msft", price:25.76, change:2.43, volume:61606325},
* {symbol:"goog", price:525.73, change:0.81, volume:3053782},
* {symbol:"apple", price:342.41, change:1.35, volume:24484858},
* {symbol:"sencha", price:142.08, change:8.85, volume:5556351}
* ]
* });
*
* Ext.create('Ext.grid.Panel', {
* title: 'Number Column Demo',
* store: Ext.data.StoreManager.lookup('sampleStore'),
* columns: [
* {text: 'Symbol', dataIndex: 'symbol', flex: 1},
* {text: 'Current Price', dataIndex: 'price', renderer: Ext.util.Format.usMoney},
* {text: 'Change', dataIndex: 'change', xtype: 'numbercolumn', format:'0.00'},
* {text: 'Volume', dataIndex: 'volume', xtype: 'numbercolumn', format:'0,000'}
* ],
* height: 200,
* width: 400,
* renderTo: Ext.getBody()
* });
*
* @xtype numbercolumn
*/
Ext.define('Ext.grid.column.Number', {
extend: 'Ext.grid.column.Column',
alias: ['widget.numbercolumn'],
requires: ['Ext.util.Format'],
alternateClassName: 'Ext.grid.NumberColumn',
/**
* @cfg {String} format
* A formatting string as used by {@link Ext.util.Format#number} to format a numeric value for this Column
* (defaults to <code>'0,000.00'</code>).
*/
format : '0,000.00',
constructor: function(cfg) {
this.callParent(arguments);
this.renderer = Ext.util.Format.numberRenderer(this.format);
}
});