2 * @class Ext.grid.RowNumberer
3 * @extends Ext.grid.column.Column
4 * This is a utility class that can be passed into a {@link Ext.grid.column.Column} as a column config that provides
5 * an automatic row numbering column.
6 * <br>Usage:<br><pre><code>
8 Ext.create('Ext.grid.RowNumberer'),
9 {text: "Company", flex: 1, sortable: true, dataIndex: 'company'},
10 {text: "Price", width: 120, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
11 {text: "Change", width: 120, sortable: true, dataIndex: 'change'},
12 {text: "% Change", width: 120, sortable: true, dataIndex: 'pctChange'},
13 {text: "Last Updated", width: 120, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
17 * @param {Object} config The configuration options
19 Ext.define('Ext.grid.RowNumberer', {
20 extend: 'Ext.grid.column.Column',
21 alias: 'widget.rownumberer',
23 * @cfg {String} text Any valid text or HTML fragment to display in the header cell for the row
24 * number column (defaults to ' ').
29 * @cfg {Number} width The default width in pixels of the row number column (defaults to 23).
34 * @cfg {Boolean} sortable True if the row number column is sortable (defaults to false).
41 constructor : function(config){
42 this.callParent(arguments);
44 this.renderer = Ext.Function.bind(this.renderer, this);
53 cls: Ext.baseCSSPrefix + 'row-numberer',
57 renderer: function(value, metaData, record, rowIdx, colIdx, store) {
59 metaData.cellAttr = 'rowspan="'+this.rowspan+'"';
62 metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
63 return store.indexOfTotal(record) + 1;