]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /**\r |
2 | * A Column definition class which renders a numeric data field according to a {@link #format} string.\r | |
3 | *\r | |
4 | * @example\r | |
5 | * Ext.create('Ext.data.Store', {\r | |
6 | * storeId:'sampleStore',\r | |
7 | * fields:[\r | |
8 | * { name: 'symbol', type: 'string' },\r | |
9 | * { name: 'price', type: 'number' },\r | |
10 | * { name: 'change', type: 'number' },\r | |
11 | * { name: 'volume', type: 'number' }\r | |
12 | * ],\r | |
13 | * data:[\r | |
14 | * { symbol: "msft", price: 25.76, change: 2.43, volume: 61606325 },\r | |
15 | * { symbol: "goog", price: 525.73, change: 0.81, volume: 3053782 },\r | |
16 | * { symbol: "apple", price: 342.41, change: 1.35, volume: 24484858 },\r | |
17 | * { symbol: "sencha", price: 142.08, change: 8.85, volume: 5556351 }\r | |
18 | * ]\r | |
19 | * });\r | |
20 | *\r | |
21 | * Ext.create('Ext.grid.Panel', {\r | |
22 | * title: 'Number Column Demo',\r | |
23 | * store: Ext.data.StoreManager.lookup('sampleStore'),\r | |
24 | * columns: [\r | |
25 | * { text: 'Symbol', dataIndex: 'symbol', flex: 1 },\r | |
26 | * { text: 'Current Price', dataIndex: 'price', renderer: Ext.util.Format.usMoney },\r | |
27 | * { text: 'Change', dataIndex: 'change', xtype: 'numbercolumn', format:'0.00' },\r | |
28 | * { text: 'Volume', dataIndex: 'volume', xtype: 'numbercolumn', format:'0,000' }\r | |
29 | * ],\r | |
30 | * height: 200,\r | |
31 | * width: 400,\r | |
32 | * renderTo: Ext.getBody()\r | |
33 | * });\r | |
34 | */\r | |
35 | Ext.define('Ext.grid.column.Number', {\r | |
36 | extend: 'Ext.grid.column.Column',\r | |
37 | alias: ['widget.numbercolumn'],\r | |
38 | \r | |
39 | requires: ['Ext.util.Format'],\r | |
40 | alternateClassName: 'Ext.grid.NumberColumn',\r | |
41 | \r | |
42 | defaultFilterType: 'number',\r | |
43 | \r | |
44 | //<locale>\r | |
45 | /**\r | |
46 | * @cfg {String} format\r | |
47 | * A formatting string as used by {@link Ext.util.Format#number} to format a numeric value for this Column.\r | |
48 | */\r | |
49 | format : '0,000.00',\r | |
50 | //</locale>\r | |
51 | \r | |
52 | /**\r | |
53 | * @cfg {Object} renderer\r | |
54 | * @hide\r | |
55 | */\r | |
56 | \r | |
57 | /**\r | |
58 | * @cfg {Object} scope\r | |
59 | * @hide\r | |
60 | */\r | |
61 | \r | |
62 | /**\r | |
63 | * @cfg {Boolean} producesHTML\r | |
64 | * @inheritdoc\r | |
65 | */\r | |
66 | producesHTML: false,\r | |
67 | \r | |
68 | defaultRenderer: function(value) {\r | |
69 | return Ext.util.Format.number(value, this.format);\r | |
70 | },\r | |
71 | \r | |
72 | updater: function(cell, value) {\r | |
73 | Ext.fly(cell).down(this.getView().innerSelector, true).innerHTML = Ext.grid.column.Number.prototype.defaultRenderer.call(this, value);\r | |
74 | }\r | |
75 | });\r |