123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>The source code</title>
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
- <style type="text/css">
- .highlight { display: block; background-color: #ddd; }
- </style>
- <script type="text/javascript">
- function highlight() {
- document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
- }
- </script>
- </head>
- <body onload="prettyPrint(); highlight();">
- <pre class="prettyprint lang-js"><span id='Ext-grid-RowNumberer'>/**
- </span> * This is a utility class that can be passed into a {@link Ext.grid.column.Column} as a column config that provides
- * an automatic row numbering column.
- *
- * Usage:
- *
- * columns: [
- * {xtype: 'rownumberer'},
- * {text: "Company", flex: 1, sortable: true, dataIndex: 'company'},
- * {text: "Price", width: 120, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
- * {text: "Change", width: 120, sortable: true, dataIndex: 'change'},
- * {text: "% Change", width: 120, sortable: true, dataIndex: 'pctChange'},
- * {text: "Last Updated", width: 120, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
- * ]
- *
- */
- Ext.define('Ext.grid.RowNumberer', {
- extend: 'Ext.grid.column.Column',
- alias: 'widget.rownumberer',
- <span id='Ext-grid-RowNumberer-cfg-text'> /**
- </span> * @cfg {String} text
- * Any valid text or HTML fragment to display in the header cell for the row number column.
- */
- text: "&#160",
- <span id='Ext-grid-RowNumberer-cfg-width'> /**
- </span> * @cfg {Number} width
- * The default width in pixels of the row number column.
- */
- width: 23,
- <span id='Ext-grid-RowNumberer-cfg-sortable'> /**
- </span> * @cfg {Boolean} sortable
- * @hide
- */
- sortable: false,
-
- <span id='Ext-grid-RowNumberer-cfg-draggable'> /**
- </span> * @cfg {Boolean} [draggable=false]
- * False to disable drag-drop reordering of this column.
- */
- draggable: false,
- align: 'right',
- constructor : function(config){
- // Copy the prototype's default width setting into an instance property to provide
- // a default width which will not be overridden by AbstractContainer.applyDefaults use of Ext.applyIf
- this.width = this.width;
- this.callParent(arguments);
- if (this.rowspan) {
- this.renderer = Ext.Function.bind(this.renderer, this);
- }
- },
- // private
- resizable: false,
- hideable: false,
- menuDisabled: true,
- dataIndex: '',
- cls: Ext.baseCSSPrefix + 'row-numberer',
- rowspan: undefined,
- // private
- renderer: function(value, metaData, record, rowIdx, colIdx, store) {
- if (this.rowspan){
- metaData.cellAttr = 'rowspan="'+this.rowspan+'"';
- }
- metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special';
- return store.indexOfTotal(record) + 1;
- }
- });
- </pre>
- </body>
- </html>
|