/*!
|
* Ext JS Library 3.1.0
|
* Copyright(c) 2006-2009 Ext JS, LLC
|
* licensing@extjs.com
|
* http://www.extjs.com/license
|
*/
|
/**
|
* @class Ext.grid.RowNumberer
|
* This is a utility class that can be passed into a {@link Ext.grid.ColumnModel} as a column config that provides
|
* an automatic row numbering column.
|
* <br>Usage:<br>
|
<pre><code>
|
// This is a typical column config with the first column providing row numbers
|
var colModel = new Ext.grid.ColumnModel([
|
new Ext.grid.RowNumberer(),
|
{header: "Name", width: 80, sortable: true},
|
{header: "Code", width: 50, sortable: true},
|
{header: "Description", width: 200, sortable: true}
|
]);
|
</code></pre>
|
* @constructor
|
* @param {Object} config The configuration options
|
*/
|
Ext.grid.RowNumberer = Ext.extend(Object, {
|
/**
|
* @cfg {String} header Any valid text or HTML fragment to display in the header cell for the row
|
* number column (defaults to '').
|
*/
|
header: "",
|
/**
|
* @cfg {Number} width The default width in pixels of the row number column (defaults to 23).
|
*/
|
width: 23,
|
/**
|
* @cfg {Boolean} sortable True if the row number column is sortable (defaults to false).
|
* @hide
|
*/
|
sortable: false,
|
|
constructor : function(config){
|
Ext.apply(this, config);
|
if(this.rowspan){
|
this.renderer = this.renderer.createDelegate(this);
|
}
|
},
|
|
// private
|
fixed:true,
|
menuDisabled:true,
|
dataIndex: '',
|
id: 'numberer',
|
rowspan: undefined,
|
|
// private
|
renderer : function(v, p, record, rowIndex){
|
if(this.rowspan){
|
p.cellAttr = 'rowspan="'+this.rowspan+'"';
|
}
|
return rowIndex+1;
|
}
|
});
|