X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/grid/column/Number.js diff --git a/src/grid/column/Number.js b/src/grid/column/Number.js new file mode 100644 index 00000000..16ebaa14 --- /dev/null +++ b/src/grid/column/Number.js @@ -0,0 +1,57 @@ +/** + * @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 '0,000.00'). + */ + format : '0,000.00', + constructor: function(cfg) { + this.callParent(arguments); + this.renderer = Ext.util.Format.numberRenderer(this.format); + } +}); \ No newline at end of file