Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / grid / column / Number.js
diff --git a/src/grid/column/Number.js b/src/grid/column/Number.js
new file mode 100644 (file)
index 0000000..16ebaa1
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * @class Ext.grid.column.Number
+ * @extends Ext.grid.column.Column
+ * <p>A Column definition class which renders a numeric data field according to a {@link #format} string.</p>
+ *
+ * {@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);
+    }
+});
\ No newline at end of file