Upgrade to ExtJS 4.0.1 - Released 05/18/2011
[extjs.git] / docs / source / RowNumberer.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5   <title>The source code</title>
6   <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
7   <script type="text/javascript" src="../prettify/prettify.js"></script>
8   <style type="text/css">
9     .highlight { display: block; background-color: #ddd; }
10   </style>
11   <script type="text/javascript">
12     function highlight() {
13       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
14     }
15   </script>
16 </head>
17 <body onload="prettyPrint(); highlight();">
18   <pre class="prettyprint lang-js"><span id='Ext-grid-RowNumberer-method-constructor'><span id='Ext-grid-RowNumberer'>/**
19 </span></span> * @class Ext.grid.RowNumberer
20  * @extends Ext.grid.column.Column
21  * This is a utility class that can be passed into a {@link Ext.grid.column.Column} as a column config that provides
22  * an automatic row numbering column.
23  * &lt;br&gt;Usage:&lt;br&gt;&lt;pre&gt;&lt;code&gt;
24 columns: [
25     Ext.create('Ext.grid.RowNumberer'),
26     {text: &quot;Company&quot;, flex: 1, sortable: true, dataIndex: 'company'},
27     {text: &quot;Price&quot;, width: 120, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
28     {text: &quot;Change&quot;, width: 120, sortable: true, dataIndex: 'change'},
29     {text: &quot;% Change&quot;, width: 120, sortable: true, dataIndex: 'pctChange'},
30     {text: &quot;Last Updated&quot;, width: 120, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
31 ]
32  *&lt;/code&gt;&lt;/pre&gt;
33  * @constructor
34  * @param {Object} config The configuration options
35  */
36 Ext.define('Ext.grid.RowNumberer', {
37     extend: 'Ext.grid.column.Column',
38     alias: 'widget.rownumberer',
39 <span id='Ext-grid-RowNumberer-cfg-text'>    /**
40 </span>     * @cfg {String} text Any valid text or HTML fragment to display in the header cell for the row
41      * number column (defaults to '&amp;#160').
42      */
43     text: &quot;&amp;#160&quot;,
44
45 <span id='Ext-grid-RowNumberer-cfg-width'>    /**
46 </span>     * @cfg {Number} width The default width in pixels of the row number column (defaults to 23).
47      */
48     width: 23,
49
50 <span id='Ext-grid-RowNumberer-cfg-sortable'>    /**
51 </span>     * @cfg {Boolean} sortable True if the row number column is sortable (defaults to false).
52      * @hide
53      */
54     sortable: false,
55
56     align: 'right',
57
58     constructor : function(config){
59         this.callParent(arguments);
60         if (this.rowspan) {
61             this.renderer = Ext.Function.bind(this.renderer, this);
62         }
63     },
64
65     // private
66     fixed: true,
67     hideable: false,
68     menuDisabled: true,
69     dataIndex: '',
70     cls: Ext.baseCSSPrefix + 'row-numberer',
71     rowspan: undefined,
72
73     // private
74     renderer: function(value, metaData, record, rowIdx, colIdx, store) {
75         if (this.rowspan){
76             metaData.cellAttr = 'rowspan=&quot;'+this.rowspan+'&quot;';
77         }
78
79         metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
80         return store.indexOfTotal(record) + 1;
81     }
82 });
83 </pre>
84 </body>
85 </html>