Number.js
2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* A Column definition class which renders a numeric data field according to a {@link #format} string.
*
* @example
* 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()
* });
*/
Ext.define('Ext.grid.column.Number', {
extend: 'Ext.grid.column.Column',
alias: ['widget.numbercolumn'],
requires: ['Ext.util.Format'],
alternateClassName: 'Ext.grid.NumberColumn',
//<locale>
/**
* @cfg {String} format
* A formatting string as used by {@link Ext.util.Format#number} to format a numeric value for this Column.
*/
format : '0,000.00',
//</locale>
/**
* @cfg renderer
* @hide
*/
/**
* @cfg scope
* @hide
*/
defaultRenderer: function(value){
return Ext.util.Format.number(value, this.format);
}
});