Upgrade to ExtJS 4.0.2 - Released 06/09/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'>/**
19 </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  */
34 Ext.define('Ext.grid.RowNumberer', {
35     extend: 'Ext.grid.column.Column',
36     alias: 'widget.rownumberer',
37 <span id='Ext-grid-RowNumberer-cfg-text'>    /**
38 </span>     * @cfg {String} text Any valid text or HTML fragment to display in the header cell for the row
39      * number column (defaults to '&amp;#160').
40      */
41     text: &quot;&amp;#160&quot;,
42
43 <span id='Ext-grid-RowNumberer-cfg-width'>    /**
44 </span>     * @cfg {Number} width The default width in pixels of the row number column (defaults to 23).
45      */
46     width: 23,
47
48 <span id='Ext-grid-RowNumberer-cfg-sortable'>    /**
49 </span>     * @cfg {Boolean} sortable True if the row number column is sortable (defaults to false).
50      * @hide
51      */
52     sortable: false,
53
54     align: 'right',
55
56     constructor : function(config){
57         this.callParent(arguments);
58         if (this.rowspan) {
59             this.renderer = Ext.Function.bind(this.renderer, this);
60         }
61     },
62
63     // private
64     fixed: true,
65     hideable: false,
66     menuDisabled: true,
67     dataIndex: '',
68     cls: Ext.baseCSSPrefix + 'row-numberer',
69     rowspan: undefined,
70
71     // private
72     renderer: function(value, metaData, record, rowIdx, colIdx, store) {
73         if (this.rowspan){
74             metaData.cellAttr = 'rowspan=&quot;'+this.rowspan+'&quot;';
75         }
76
77         metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
78         return store.indexOfTotal(record) + 1;
79     }
80 });
81 </pre>
82 </body>
83 </html>