X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/src/widgets/grid/RowNumberer.js
diff --git a/src/widgets/grid/RowNumberer.js b/src/widgets/grid/RowNumberer.js
new file mode 100644
index 00000000..21697659
--- /dev/null
+++ b/src/widgets/grid/RowNumberer.js
@@ -0,0 +1,61 @@
+/*!
+ * Ext JS Library 3.0.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.
+ *
Usage:
+
+ // 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}
+ ]);
+
+ * @constructor
+ * @param {Object} config The configuration options
+ */
+Ext.grid.RowNumberer = function(config){
+ Ext.apply(this, config);
+ if(this.rowspan){
+ this.renderer = this.renderer.createDelegate(this);
+ }
+};
+
+Ext.grid.RowNumberer.prototype = {
+ /**
+ * @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,
+
+ // 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;
+ }
+};
\ No newline at end of file