Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / docs / output / Ext.grid.ColumnModel.html
1 <div xmlns:ext="http://www.extjs.com" class="body-wrap"><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif">ColumnModel</pre></div><h1>Class <a href="source/ColumnModel.html#cls-Ext.grid.ColumnModel">Ext.grid.ColumnModel</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.grid</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">ColumnModel.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/ColumnModel.html#cls-Ext.grid.ColumnModel">ColumnModel</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.grid.PropertyColumnModel.html" ext:cls="Ext.grid.PropertyColumnModel">PropertyColumnModel</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.util.Observable.html" ext:cls="Ext.util.Observable" ext:member="">Observable</a></td></tr></table><div class="description"><p>After the data has been read into the client side cache (<b><a href="output/Ext.data.Store.html" ext:cls="Ext.data.Store">Store</a></b>),
2 the ColumnModel is used to configure how and what parts of that data will be displayed in the
3 vertical slices (columns) of the grid. The Ext.grid.ColumnModel Class is the default implementation
4 of a ColumnModel used by implentations of <a href="output/Ext.grid.GridPanel.html" ext:cls="Ext.grid.GridPanel">GridPanel</a>.</p>
5 <p>Data is mapped into the store's records and then indexed into the ColumnModel using the
6 <tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-dataIndex" ext:member="dataIndex" ext:cls="Ext.grid.Column">dataIndex</a></tt>:</p>
7 <pre><code>{data source} == mapping ==> {data store} == <b><tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-dataIndex" ext:member="dataIndex" ext:cls="Ext.grid.Column">dataIndex</a></tt></b> ==> {ColumnModel}</code></pre>
8 <p>Each <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Column</a> in the grid's ColumnModel is configured with a
9 <tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-dataIndex" ext:member="dataIndex" ext:cls="Ext.grid.Column">dataIndex</a></tt> to specify how the data within
10 each record in the store is indexed into the ColumnModel.</p>
11 <p>There are two ways to initialize the ColumnModel class:</p>
12 <p><u>Initialization Method 1: an Array</u></p>
13 <pre><code><b>var</b> colModel = <b>new</b> Ext.grid.ColumnModel([
14     { header: <em>"Ticker"</em>, width: 60, sortable: true},
15     { header: <em>"Company Name"</em>, width: 150, sortable: true, id: <em>'company'</em>},
16     { header: <em>"Market Cap."</em>, width: 100, sortable: true},
17     { header: <em>"$ Sales"</em>, width: 100, sortable: true, renderer: money},
18     { header: <em>"Employees"</em>, width: 100, sortable: true, resizable: false}
19  ]);</code></pre>
20 <p>The ColumnModel may be initialized with an Array of <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a> column configuration
21 objects to define the initial layout / display of the columns in the Grid. The order of each
22 <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a> column configuration object within the specified Array defines the initial
23 order of the column display.  A Column's display may be initially hidden using the
24 <tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-hidden" ext:member="hidden" ext:cls="Ext.grid.Column">hidden</a></tt></b> config property (and then shown using the column
25 header menu).  Fields that are not included in the ColumnModel will not be displayable at all.</p>
26 <p>How each column in the grid correlates (maps) to the <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> field in the
27 <a href="output/Ext.data.Store.html" ext:cls="Ext.data.Store">Store</a> the column draws its data from is configured through the
28 <b><tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-dataIndex" ext:member="dataIndex" ext:cls="Ext.grid.Column">dataIndex</a></tt></b>.  If the
29 <b><tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-dataIndex" ext:member="dataIndex" ext:cls="Ext.grid.Column">dataIndex</a></tt></b> is not explicitly defined (as shown in the
30 example above) it will use the column configuration's index in the Array as the index.</p>
31 <p>See <b><tt><a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a></tt></b> for additional configuration options for each column.</p>
32 <p><u>Initialization Method 2: an Object</u></p>
33 <p>In order to use configuration options from <tt>Ext.grid.ColumnModel</tt>, an Object may be used to
34 initialize the ColumnModel.  The column configuration Array will be specified in the <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-columns" ext:member="columns" ext:cls="Ext.grid.ColumnModel">columns</a></b></tt>
35 config property. The <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-defaults" ext:member="defaults" ext:cls="Ext.grid.ColumnModel">defaults</a></b></tt> config property can be used to apply defaults
36 for all columns, e.g.:</p><pre><code><b>var</b> colModel = <b>new</b> Ext.grid.ColumnModel({
37     columns: [
38         { header: <em>"Ticker"</em>, width: 60, menuDisabled: false},
39         { header: <em>"Company Name"</em>, width: 150, id: <em>'company'</em>},
40         { header: <em>"Market Cap."</em>},
41         { header: <em>"$ Sales"</em>, renderer: money},
42         { header: <em>"Employees"</em>, resizable: false}
43     ],
44     defaults: {
45         sortable: true,
46         menuDisabled: true,
47         width: 100
48     },
49     listeners: {
50         <a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-hiddenchange" ext:member="hiddenchange" ext:cls="Ext.grid.ColumnModel">hiddenchange</a>: <b>function</b>(cm, colIndex, hidden) {
51             saveConfig(colIndex, hidden);
52         }
53     }
54 });</code></pre>
55 <p>In both examples above, the ability to apply a CSS class to all cells in a column (including the
56 header) is demonstrated through the use of the <b><tt><a href="output/Ext.grid.Column.html#Ext.grid.Column-id" ext:member="id" ext:cls="Ext.grid.Column">id</a></tt></b> config
57 option. This column could be styled by including the following css:</p><pre><code><i>//add this css *after* the core css is loaded</i>
58 .x-grid3-td-company {
59     color: red; <i>// entire column will have red font</i>
60 }
61 <i>// modify the header row only, adding an icon to the column header</i>
62 .x-grid3-hd-company {
63     background: transparent
64         url(../../resources/images/icons/silk/building.png)
65         no-repeat 3px 3px ! important;
66         padding-left:20px;
67 }</code></pre>
68 Note that the "Company Name" column could be specified as the
69 <b><tt><a href="output/Ext.grid.GridPanel.html" ext:cls="Ext.grid.GridPanel">Ext.grid.GridPanel</a>.<a href="output/Ext.grid.GridPanel.html#Ext.grid.GridPanel-autoExpandColumn" ext:member="autoExpandColumn" ext:cls="Ext.grid.GridPanel">autoExpandColumn</a></tt></b>.</div><div class="hr"></div><a id="Ext.grid.ColumnModel-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-columns"></a><b><a href="source/ColumnModel.html#cfg-Ext.grid.ColumnModel-columns">columns</a></b> : Array<div class="mdesc"><div class="short">An Array of object literals.  The config options defined by\r
70 Ext.grid.Column are the options which may appear in the o...</div><div class="long">An Array of object literals.  The config options defined by
71 <b><a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a></b> are the options which may appear in the object literal for each
72 individual column definition.</div></div></td><td class="msource">ColumnModel</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-defaultSortable"></a><b><a href="source/ColumnModel.html#cfg-Ext.grid.ColumnModel-defaultSortable">defaultSortable</a></b> : Boolean<div class="mdesc"><div class="short">Default sortable of columns which have no\r
73 sortable specified (defaults to false).  This property shall preferably be ...</div><div class="long">Default sortable of columns which have no
74 sortable specified (defaults to <tt>false</tt>).  This property shall preferably be configured
75 through the <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-defaults" ext:member="defaults" ext:cls="Ext.grid.ColumnModel">defaults</a></b></tt> config property.</div></div></td><td class="msource">ColumnModel</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-defaultWidth"></a><b><a href="source/ColumnModel.html#cfg-Ext.grid.ColumnModel-defaultWidth">defaultWidth</a></b> : Number<div class="mdesc"><div class="short">The width of columns which have no width\r
76 specified (defaults to 100).  This property shall preferably be configured t...</div><div class="long">The width of columns which have no <tt><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-width" ext:member="width" ext:cls="Ext.grid.ColumnModel">width</a></tt>
77 specified (defaults to <tt>100</tt>).  This property shall preferably be configured through the
78 <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-defaults" ext:member="defaults" ext:cls="Ext.grid.ColumnModel">defaults</a></b></tt> config property.</div></div></td><td class="msource">ColumnModel</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-defaults"></a><b><a href="source/ColumnModel.html#cfg-Ext.grid.ColumnModel-defaults">defaults</a></b> : Object<div class="mdesc"><div class="short">Object literal which will be used to apply Ext.grid.Column\r
79 configuration options to all columns.  Configuration optio...</div><div class="long">Object literal which will be used to apply <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a>
80 configuration options to all <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-columns" ext:member="columns" ext:cls="Ext.grid.ColumnModel">columns</a></b></tt>.  Configuration options specified with
81 individual <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">column</a> configs will supersede these <tt><b><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-defaults" ext:member="defaults" ext:cls="Ext.grid.ColumnModel">defaults</a></b></tt>.</div></div></td><td class="msource">ColumnModel</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-listeners"></a><b><a href="source/Observable.html#cfg-Ext.util.Observable-listeners">listeners</a></b> : Object<div class="mdesc"><div class="short">A config object containing one or more event handlers to be added to this\r
82 object during initialization.  This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
83 object during initialization.  This should be a valid listeners config object as specified in the
84 <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> example for attaching multiple handlers at once.</p>
85 <br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
86 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
87 is usually only done when extra value can be added. For example the <a href="output/Ext.DataView.html" ext:cls="Ext.DataView">DataView</a>'s
88 <b><code><a href="output/Ext.DataView.html#Ext.DataView-click" ext:member="click" ext:cls="Ext.DataView">click</a></code></b> event passing the node clicked on. To access DOM
89 events directly from a Component's HTMLElement, listeners must be added to the <i><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">Element</a></i> after the Component
90 has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
91 <i>// The Component is appended to the argument list of all handler functions.</i>
92 Ext.DomObserver = Ext.extend(Object, {
93     constructor: <b>function</b>(config) {
94         this.listeners = config.listeners ? config.listeners : config;
95     },
96
97     <i>// Component passes itself into plugin&#39;s init method</i>
98     init: <b>function</b>(c) {
99         <b>var</b> p, l = this.listeners;
100         <b>for</b> (p <b>in</b> l) {
101             <b>if</b> (Ext.isFunction(l[p])) {
102                 l[p] = this.createHandler(l[p], c);
103             } <b>else</b> {
104                 l[p].fn = this.createHandler(l[p].fn, c);
105             }
106         }
107
108         <i>// Add the listeners to the Element immediately following the render call</i>
109         c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
110             <b>var</b> e = c.getEl();
111             <b>if</b> (e) {
112                 e.on(l);
113             }
114         });
115     },
116
117     createHandler: <b>function</b>(fn, c) {
118         <b>return</b> <b>function</b>(e) {
119             fn.call(this, e, c);
120         };
121     }
122 });
123
124 <b>var</b> combo = <b>new</b> Ext.form.ComboBox({
125
126     <i>// Collapse combo when its element is clicked on</i>
127     plugins: [ <b>new</b> Ext.DomObserver({
128         click: <b>function</b>(evt, comp) {
129             comp.collapse();
130         }
131     })],
132     store: myStore,
133     typeAhead: true,
134     mode: <em>'local'</em>,
135     triggerAction: <em>'all'</em>
136 });</code></pre></p></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#listeners" ext:member="#listeners" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.grid.ColumnModel-props"></a><h2>Public Properties</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Property</th><th class="msource-header">Defined By</th></tr><tr class="property-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-config"></a><b><a href="source/ColumnModel.html#prop-Ext.grid.ColumnModel-config">config</a></b> : Array<div class="mdesc"><div class="short">An Array of Column definition objects representing the configuration\r
137 of this ColumnModel.  See Ext.grid.Column for th...</div><div class="long">An Array of <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Column definition</a> objects representing the configuration
138 of this ColumnModel.  See <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a> for the configuration properties that may
139 be specified.</div></div></td><td class="msource">ColumnModel</td></tr></tbody></table><a id="Ext.grid.ColumnModel-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-ColumnModel"></a><b><a href="source/ColumnModel.html#cls-Ext.grid.ColumnModel">ColumnModel</a></b>(&nbsp;<code>Mixed&nbsp;config</code>&nbsp;)\r
140     <div class="mdesc"><div class="short"></div><div class="long"><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>config</code> : Mixed<div class="sub-desc">Specify either an Array of <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Ext.grid.Column</a> configuration objects or specify
141 a configuration Object (see introductory section discussion utilizing Initialization Method 2 above).</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-addEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addEvents">addEvents</a></b>(&nbsp;<code>Object|String&nbsp;o</code>,&nbsp;<code>string&nbsp;Optional.</code>&nbsp;)\r
142     :\r
143                                         void<div class="mdesc"><div class="short">Adds the specified events to the list of events which this Observable may fire.</div><div class="long">Adds the specified events to the list of events which this Observable may fire.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object|String<div class="sub-desc">Either an object with event names as properties with a value of <code>true</code>
144 or the first event name string if multiple event names are being passed as separate parameters.</div></li><li><code>Optional.</code> : string<div class="sub-desc">Event name if multiple event names are being passed as separate parameters.
145 Usage:<pre><code>this.addEvents(<em>'storeloaded'</em>, <em>'storecleared'</em>);</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addEvents" ext:member="#addEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-addListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addListener">addListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;options</code>]</span>&nbsp;)\r
146     :\r
147                                         void<div class="mdesc"><div class="short">Appends an event handler to this object.</div><div class="long">Appends an event handler to this object.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to listen for.</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
148 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.
149 properties. This may contain any of the following properties:<ul>
150 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
151 <b>If omitted, defaults to the object which fired the event.</b></div></li>
152 <li><b>delay</b> : Number<div class="sub-desc">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>
153 <li><b>single</b> : Boolean<div class="sub-desc">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>
154 <li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="output/Ext.util.DelayedTask.html" ext:cls="Ext.util.DelayedTask">Ext.util.DelayedTask</a> delayed
155 by the specified number of milliseconds. If the event fires again within that time, the original
156 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
157 <li><b>target</b> : Observable<div class="sub-desc">Only call the handler if the event was fired on the target Observable, <i>not</i>
158 if the event was bubbled up from a child Observable.</div></li>
159 </ul><br>
160 <p>
161 <b>Combining Options</b><br>
162 Using the options argument, it is possible to combine different types of listeners:<br>
163 <br>
164 A delayed, one-time listener.
165 <pre><code>myDataView.on(<em>'click'</em>, this.onClick, this, {
166 single: true,
167 delay: 100
168 });</code></pre>
169 <p>
170 <b>Attaching multiple handlers in 1 call</b><br>
171 The method also allows for a single argument to be passed which is a config object containing properties
172 which specify multiple handlers.
173 <p>
174 <pre><code>myGridPanel.on({
175 <em>'click'</em> : {
176     fn: this.onClick,
177     scope: this,
178     delay: 100
179 },
180 <em>'mouseover'</em> : {
181     fn: this.onMouseOver,
182     scope: this
183 },
184 <em>'mouseout'</em> : {
185     fn: this.onMouseOut,
186     scope: this
187 }
188 });</code></pre>
189 <p>
190 Or a shorthand syntax:<br>
191 <pre><code>myGridPanel.on({
192 <em>'click'</em> : this.onClick,
193 <em>'mouseover'</em> : this.onMouseOver,
194 <em>'mouseout'</em> : this.onMouseOut,
195  scope: this
196 });</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addListener" ext:member="#addListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-destroy"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-destroy">destroy</a></b>()\r
197     :\r
198                                         void<div class="mdesc"><div class="short">Destroys this column model by purging any event listeners, and removing any editors.</div><div class="long">Destroys this column model by purging any event listeners, and removing any editors.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>(&nbsp;<code>String/Array&nbsp;events</code>&nbsp;)\r
199     :\r
200                                         void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling&#13;\r
201 this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
202 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
203 <p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default\r
204 implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
205 access the required target more quickly.</p>\r
206 <p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
207     <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\r</i>
208     initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
209         this.enableBubble(<em>'change'</em>);\r
210     }),\r
211 \r
212     <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\r</i>
213     getBubbleTarget : <b>function</b>() {\r
214         <b>if</b> (!this.formPanel) {\r
215             this.formPanel = this.findParentByType(<em>'form'</em>);\r
216         }\r
217         <b>return</b> this.formPanel;\r
218     }\r
219 });\r
220 \r
221 <b>var</b> myForm = <b>new</b> Ext.formPanel({\r
222     title: <em>'User Details'</em>,\r
223     items: [{\r
224         ...\r
225     }],\r
226     listeners: {\r
227         change: <b>function</b>() {\r
228             <i>// Title goes red <b>if</b> form has been modified.\r</i>
229             myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);\r
230         }\r
231     }\r
232 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : String/Array<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#enableBubble" ext:member="#enableBubble" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-findColumnIndex"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-findColumnIndex">findColumnIndex</a></b>(&nbsp;<code>String&nbsp;col</code>&nbsp;)\r
233     :\r
234                                         Number<div class="mdesc"><div class="short">Finds the index of the first matching column for the given dataIndex.</div><div class="long">Finds the index of the first matching column for the given dataIndex.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : String<div class="sub-desc">The dataIndex to find</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">The column index, or -1 if no match was found</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-fireEvent"></a><b><a href="source/Observable.html#method-Ext.util.Observable-fireEvent">fireEvent</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Object...&nbsp;args</code>&nbsp;)\r
235     :\r
236                                         Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).\r
237 An event may be set to bubble up an Obse...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
238 <p>An event may be set to bubble up an Observable parent hierarchy (See <a href="output/Ext.Component.html#Ext.Component-getBubbleTarget" ext:member="getBubbleTarget" ext:cls="Ext.Component">Ext.Component.getBubbleTarget</a>)
239 by calling <a href="output/Ext.util.Observable.html#Ext.util.Observable-enableBubble" ext:member="enableBubble" ext:cls="Ext.util.Observable">enableBubble</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to fire.</div></li><li><code>args</code> : Object...<div class="sub-desc">Variable number of parameters are passed to handlers.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#fireEvent" ext:member="#fireEvent" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getCellEditor"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getCellEditor">getCellEditor</a></b>(&nbsp;<code>Number&nbsp;colIndex</code>,&nbsp;<code>Number&nbsp;rowIndex</code>&nbsp;)\r
240     :\r
241                                         Ext.Editor<div class="mdesc"><div class="short">Returns the editor defined for the cell/column.</div><div class="long">Returns the editor defined for the cell/column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>colIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>rowIndex</code> : Number<div class="sub-desc">The row index</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Editor</code><div class="sub-desc">The {@link Ext.Editor Editor} that was created to wrap\r
242 the {@link Ext.form.Field Field} used to edit the cell.</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnById"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnById">getColumnById</a></b>(&nbsp;<code>String&nbsp;id</code>&nbsp;)\r
243     :\r
244                                         Object<div class="mdesc"><div class="short">Returns the column for a specified id.</div><div class="long">Returns the column for a specified id.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>id</code> : String<div class="sub-desc">The column id</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">the column</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnCount"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnCount">getColumnCount</a></b>(&nbsp;<code>Boolean&nbsp;visibleOnly</code>&nbsp;)\r
245     :\r
246                                         Number<div class="mdesc"><div class="short">Returns the number of columns.</div><div class="long">Returns the number of columns.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>visibleOnly</code> : Boolean<div class="sub-desc">Optional. Pass as true to only include visible columns.</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnHeader"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnHeader">getColumnHeader</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
247     :\r
248                                         String<div class="mdesc"><div class="short">Returns the header for the specified column.</div><div class="long">Returns the header for the specified column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnId"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnId">getColumnId</a></b>(&nbsp;<code>Number&nbsp;index</code>&nbsp;)\r
249     :\r
250                                         String<div class="mdesc"><div class="short">Returns the id of the column at the specified index.</div><div class="long">Returns the id of the column at the specified index.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>index</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">the id</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnTooltip"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnTooltip">getColumnTooltip</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
251     :\r
252                                         String<div class="mdesc"><div class="short">Returns the tooltip for the specified column.</div><div class="long">Returns the tooltip for the specified column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnWidth"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnWidth">getColumnWidth</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
253     :\r
254                                         Number<div class="mdesc"><div class="short">Returns the width for the specified column.</div><div class="long">Returns the width for the specified column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getColumnsBy"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getColumnsBy">getColumnsBy</a></b>(&nbsp;<code>Function&nbsp;fn</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)\r
255     :\r
256                                         Array<div class="mdesc"><div class="short">Returns the column configs that return true by the passed function that is called\r
257 with (columnConfig, index)\r
258 // retur...</div><div class="long">Returns the column configs that return true by the passed function that is called
259 with (columnConfig, index)
260 <pre><code><i>// returns an array of column config objects <b>for</b> all hidden columns</i>
261 <b>var</b> columns = grid.getColumnModel().getColumnsBy(<b>function</b>(c){
262   <b>return</b> c.hidden;
263 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">A function which, when passed a <a href="output/Ext.grid.Column.html" ext:cls="Ext.grid.Column">Column</a> object, must
264 return <code>true</code> if the column is to be included in the returned Array.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function
265 is executed. Defaults to this ColumnModel.</div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">result</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getDataIndex"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getDataIndex">getDataIndex</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
266     :\r
267                                         String<div class="mdesc"><div class="short">Returns the dataIndex for the specified column.\r
268 // Get field name for the column\r
269 var fieldName = grid.getColumnModel(...</div><div class="long">Returns the dataIndex for the specified column.
270 <pre><code><i>// Get field name <b>for</b> the column</i>
271 <b>var</b> fieldName = grid.getColumnModel().getDataIndex(columnIndex);</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">The column's dataIndex</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getIndexById"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getIndexById">getIndexById</a></b>(&nbsp;<code>String&nbsp;id</code>&nbsp;)\r
272     :\r
273                                         Number<div class="mdesc"><div class="short">Returns the index for a specified column id.</div><div class="long">Returns the index for a specified column id.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>id</code> : String<div class="sub-desc">The column id</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">the index, or -1 if not found</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getRenderer"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getRenderer">getRenderer</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
274     :\r
275                                         Function<div class="mdesc"><div class="short">Returns the rendering (formatting) function defined for the column.</div><div class="long">Returns the rendering (formatting) function defined for the column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index.</div></li></ul><strong>Returns:</strong><ul><li><code>Function</code><div class="sub-desc">The function used to render the cell. See {@link #setRenderer}.</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-getTotalWidth"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-getTotalWidth">getTotalWidth</a></b>(&nbsp;<code>Boolean&nbsp;includeHidden</code>&nbsp;)\r
276     :\r
277                                         Number<div class="mdesc"><div class="short">Returns the total width of all columns.</div><div class="long">Returns the total width of all columns.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>includeHidden</code> : Boolean<div class="sub-desc">True to include hidden column widths</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-hasListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-hasListener">hasListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>&nbsp;)\r
278     :\r
279                                         Boolean<div class="mdesc"><div class="short">Checks to see if this object has any listeners for a specified event</div><div class="long">Checks to see if this object has any listeners for a specified event<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to check for</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the event is being listened for, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#hasListener" ext:member="#hasListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isCellEditable"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isCellEditable">isCellEditable</a></b>(&nbsp;<code>Number&nbsp;colIndex</code>,&nbsp;<code>Number&nbsp;rowIndex</code>&nbsp;)\r
280     :\r
281                                         Boolean<div class="mdesc"><div class="short">Returns true if the cell is editable.\r
282 var store = new Ext.data.Store({...});\r
283 var colModel = new Ext.grid.ColumnModel(...</div><div class="long">Returns true if the cell is editable.
284 <pre><code><b>var</b> store = <b>new</b> Ext.data.Store({...});
285 <b>var</b> colModel = <b>new</b> Ext.grid.ColumnModel({
286   columns: [...],
287   isCellEditable: <b>function</b>(col, row) {
288     <b>var</b> record = store.getAt(row);
289     <b>if</b> (record.get(<em>'readonly'</em>)) { <i>// replace <b>with</b> your condition</i>
290       <b>return</b> false;
291     }
292     <b>return</b> Ext.grid.ColumnModel.prototype.isCellEditable.call(this, col, row);
293   }
294 });
295 <b>var</b> grid = <b>new</b> Ext.grid.GridPanel({
296   store: store,
297   colModel: colModel,
298   ...
299 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>colIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>rowIndex</code> : Number<div class="sub-desc">The row index</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isFixed"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isFixed">isFixed</a></b>(&nbsp;<code>Number&nbsp;colIndex</code>&nbsp;)\r
300     :\r
301                                         Boolean<div class="mdesc"><div class="short">Returns true if the column is fixed,\r
302 false otherwise.</div><div class="long">Returns <tt>true</tt> if the column is <code><a href="output/Ext.grid.Column.html#Ext.grid.Column-fixed" ext:member="fixed" ext:cls="Ext.grid.Column">fixed</a></code>,
303 <tt>false</tt> otherwise.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>colIndex</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isHidden"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isHidden">isHidden</a></b>(&nbsp;<code>Number&nbsp;colIndex</code>&nbsp;)\r
304     :\r
305                                         Boolean<div class="mdesc"><div class="short">Returns true if the column is hidden,\r
306 false otherwise.</div><div class="long">Returns <tt>true</tt> if the column is <code><a href="output/Ext.grid.Column.html#Ext.grid.Column-hidden" ext:member="hidden" ext:cls="Ext.grid.Column">hidden</a></code>,
307 <tt>false</tt> otherwise.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>colIndex</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isMenuDisabled"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isMenuDisabled">isMenuDisabled</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
308     :\r
309                                         Boolean<div class="mdesc"><div class="short">Returns true if the specified column menu is disabled.</div><div class="long">Returns true if the specified column menu is disabled.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isResizable"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isResizable">isResizable</a></b>()\r
310     :\r
311                                         Boolean<div class="mdesc"><div class="short">Returns true if the column can be resized</div><div class="long">Returns true if the column can be resized<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-isSortable"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-isSortable">isSortable</a></b>(&nbsp;<code>Number&nbsp;col</code>&nbsp;)\r
312     :\r
313                                         Boolean<div class="mdesc"><div class="short">Returns true if the specified column is sortable.</div><div class="long">Returns true if the specified column is sortable.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-moveColumn"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-moveColumn">moveColumn</a></b>(&nbsp;<code>Number&nbsp;oldIndex</code>,&nbsp;<code>Number&nbsp;newIndex</code>&nbsp;)\r
314     :\r
315                                         void<div class="mdesc"><div class="short">Moves a column from one position to another.</div><div class="long">Moves a column from one position to another.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>oldIndex</code> : Number<div class="sub-desc">The index of the column to move.</div></li><li><code>newIndex</code> : Number<div class="sub-desc">The position at which to reinsert the coolumn.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-on"></a><b><a href="source/Observable.html#method-Ext.util.Observable-on">on</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;options</code>]</span>&nbsp;)\r
316     :\r
317                                         void<div class="mdesc"><div class="short">Appends an event handler to this object (shorthand for addListener.)</div><div class="long">Appends an event handler to this object (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
318 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#on" ext:member="#on" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-purgeListeners"></a><b><a href="source/Observable.html#method-Ext.util.Observable-purgeListeners">purgeListeners</a></b>()\r
319     :\r
320                                         void<div class="mdesc"><div class="short">Removes all listeners for this object</div><div class="long">Removes all listeners for this object<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#purgeListeners" ext:member="#purgeListeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-relayEvents"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-relayEvents">relayEvents</a></b>(&nbsp;<code>Object&nbsp;o</code>,&nbsp;<code>Array&nbsp;events</code>&nbsp;)\r
321     :\r
322                                         void<div class="mdesc"><div class="short">Relays selected events from the specified Observable as if the events were fired by this.</div><div class="long">Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The Observable whose events this object is to relay.</div></li><li><code>events</code> : Array<div class="sub-desc">Array of event names to relay.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#relayEvents" ext:member="#relayEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-removeListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-removeListener">removeListener</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)\r
323     :\r
324                                         void<div class="mdesc"><div class="short">Removes an event handler.</div><div class="long">Removes an event handler.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#removeListener" ext:member="#removeListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-resumeEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-resumeEvents">resumeEvents</a></b>()\r
325     :\r
326                                         void<div class="mdesc"><div class="short">Resume firing events. (see suspendEvents)\r
327 If events were suspended using the queueSuspended parameter, then all\r
328 event...</div><div class="long">Resume firing events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-suspendEvents" ext:member="suspendEvents" ext:cls="Ext.util.Observable">suspendEvents</a>)
329 If events were suspended using the <tt><b>queueSuspended</b></tt> parameter, then all
330 events fired during event suspension will be sent to any listeners now.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#resumeEvents" ext:member="#resumeEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setColumnHeader"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setColumnHeader">setColumnHeader</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>String&nbsp;header</code>&nbsp;)\r
331     :\r
332                                         void<div class="mdesc"><div class="short">Sets the header for a column.</div><div class="long">Sets the header for a column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>header</code> : String<div class="sub-desc">The new header</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setColumnTooltip"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setColumnTooltip">setColumnTooltip</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>String&nbsp;tooltip</code>&nbsp;)\r
333     :\r
334                                         void<div class="mdesc"><div class="short">Sets the tooltip for a column.</div><div class="long">Sets the tooltip for a column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>tooltip</code> : String<div class="sub-desc">The new tooltip</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setColumnWidth"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setColumnWidth">setColumnWidth</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>Number&nbsp;width</code>,&nbsp;<code>Boolean&nbsp;suppressEvent</code>&nbsp;)\r
335     :\r
336                                         void<div class="mdesc"><div class="short">Sets the width for a column.</div><div class="long">Sets the width for a column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>width</code> : Number<div class="sub-desc">The new width</div></li><li><code>suppressEvent</code> : Boolean<div class="sub-desc">True to suppress firing the <code><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-widthchange" ext:member="widthchange" ext:cls="Ext.grid.ColumnModel">widthchange</a></code>
337 event. Defaults to false.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setConfig"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setConfig">setConfig</a></b>(&nbsp;<code>Array&nbsp;config</code>,&nbsp;<code>Boolean&nbsp;initial</code>&nbsp;)\r
338     :\r
339                                         void<div class="mdesc"><div class="short">Reconfigures this column model according to the passed Array of column definition objects.\r
340 For a description of the i...</div><div class="long"><p>Reconfigures this column model according to the passed Array of column definition objects.
341 For a description of the individual properties of a column definition object, see the
342 <a href="#Ext.grid.ColumnModel-configs">Config Options</a>.</p>
343 <p>Causes the <a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-configchange" ext:member="configchange" ext:cls="Ext.grid.ColumnModel">configchange</a> event to be fired. A <a href="output/Ext.grid.GridPanel.html" ext:cls="Ext.grid.GridPanel">GridPanel</a>
344 using this ColumnModel will listen for this event and refresh its UI automatically.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>config</code> : Array<div class="sub-desc">Array of Column definition objects.</div></li><li><code>initial</code> : Boolean<div class="sub-desc">Specify <tt>true</tt> to bypass cleanup which deletes the <tt>totalWidth</tt>
345 and destroys existing editors.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setDataIndex"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setDataIndex">setDataIndex</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>String&nbsp;dataIndex</code>&nbsp;)\r
346     :\r
347                                         void<div class="mdesc"><div class="short">Sets the dataIndex for a column.</div><div class="long">Sets the dataIndex for a column.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>dataIndex</code> : String<div class="sub-desc">The new dataIndex</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setEditable"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setEditable">setEditable</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>Boolean&nbsp;editable</code>&nbsp;)\r
348     :\r
349                                         void<div class="mdesc"><div class="short">Sets if a column is editable.</div><div class="long">Sets if a column is editable.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>editable</code> : Boolean<div class="sub-desc">True if the column is editable</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setEditor"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setEditor">setEditor</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>Object&nbsp;editor</code>&nbsp;)\r
350     :\r
351                                         void<div class="mdesc"><div class="short">Sets the editor for a column and destroys the prior editor.</div><div class="long">Sets the editor for a column and destroys the prior editor.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>editor</code> : Object<div class="sub-desc">The editor object</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setHidden"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setHidden">setHidden</a></b>(&nbsp;<code>Number&nbsp;colIndex</code>,&nbsp;<code>Boolean&nbsp;hidden</code>&nbsp;)\r
352     :\r
353                                         void<div class="mdesc"><div class="short">Sets if a column is hidden.\r
354 myGrid.getColumnModel().setHidden(0, true); // hide column 0 (0 = the first column).</div><div class="long">Sets if a column is hidden.
355 <pre><code>myGrid.getColumnModel().setHidden(0, true); <i>// hide column 0 (0 = the first column).</i></code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>colIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>hidden</code> : Boolean<div class="sub-desc">True if the column is hidden</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-setRenderer"></a><b><a href="source/ColumnModel.html#method-Ext.grid.ColumnModel-setRenderer">setRenderer</a></b>(&nbsp;<code>Number&nbsp;col</code>,&nbsp;<code>Function&nbsp;fn</code>&nbsp;)\r
356     :\r
357                                         void<div class="mdesc"><div class="short">Sets the rendering (formatting) function for a column.  See Ext.util.Format for some\r
358 default formatting functions.</div><div class="long">Sets the rendering (formatting) function for a column.  See <a href="output/Ext.util.Format.html" ext:cls="Ext.util.Format">Ext.util.Format</a> for some
359 default formatting functions.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>col</code> : Number<div class="sub-desc">The column index</div></li><li><code>fn</code> : Function<div class="sub-desc">The function to use to process the cell's raw data
360 to return HTML markup for the grid view. The render function is called with
361 the following parameters:<ul>
362 <li><b>value</b> : Object<p class="sub-desc">The data value for the cell.</p></li>
363 <li><b>metadata</b> : Object<p class="sub-desc">An object in which you may set the following attributes:<ul>
364 <li><b>css</b> : String<p class="sub-desc">A CSS class name to add to the cell's TD element.</p></li>
365 <li><b>attr</b> : String<p class="sub-desc">An HTML attribute definition string to apply to the data container element <i>within</i> the table cell
366 (e.g. 'style="color:red;"').</p></li></ul></p></li>
367 <li><b>record</b> : Ext.data.record<p class="sub-desc">The <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> from which the data was extracted.</p></li>
368 <li><b>rowIndex</b> : Number<p class="sub-desc">Row index</p></li>
369 <li><b>colIndex</b> : Number<p class="sub-desc">Column index</p></li>
370 <li><b>store</b> : Ext.data.Store<p class="sub-desc">The <a href="output/Ext.data.Store.html" ext:cls="Ext.data.Store">Ext.data.Store</a> object from which the Record was extracted.</p></li></ul></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-suspendEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-suspendEvents">suspendEvents</a></b>(&nbsp;<code>Boolean&nbsp;queueSuspended</code>&nbsp;)\r
371     :\r
372                                         void<div class="mdesc"><div class="short">Suspend the firing of all events. (see resumeEvents)</div><div class="long">Suspend the firing of all events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a>)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>queueSuspended</code> : Boolean<div class="sub-desc">Pass as true to queue up suspended events to be fired
373 after the <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a> call instead of discarding all suspended events;</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#suspendEvents" ext:member="#suspendEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-un"></a><b><a href="source/Observable.html#method-Ext.util.Observable-un">un</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)\r
374     :\r
375                                         void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.grid.ColumnModel-events"></a><h2>Public Events</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Event</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-columnmoved"></a><b><a href="source/ColumnModel.html#event-Ext.grid.ColumnModel-columnmoved">columnmoved</a></b> :\r
376                                       (&nbsp;<code>ColumnModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;oldIndex</code>,&nbsp;<code>Number&nbsp;newIndex</code>&nbsp;)\r
377     <div class="mdesc"><div class="short">Fires when a column is moved.</div><div class="long">Fires when a column is moved.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : ColumnModel<div class="sub-desc"></div></li><li><code>oldIndex</code> : Number<div class="sub-desc"></div></li><li><code>newIndex</code> : Number<div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-configchange"></a><b><a href="source/ColumnModel.html#event-Ext.grid.ColumnModel-configchange">configchange</a></b> :\r
378                                       (&nbsp;<code>ColumnModel&nbsp;this</code>&nbsp;)\r
379     <div class="mdesc"><div class="short">Fires when the configuration is changed</div><div class="long">Fires when the configuration is changed<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : ColumnModel<div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-headerchange"></a><b><a href="source/ColumnModel.html#event-Ext.grid.ColumnModel-headerchange">headerchange</a></b> :\r
380                                       (&nbsp;<code>ColumnModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;columnIndex</code>,&nbsp;<code>String&nbsp;newText</code>&nbsp;)\r
381     <div class="mdesc"><div class="short">Fires when the text of a header changes.</div><div class="long">Fires when the text of a header changes.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : ColumnModel<div class="sub-desc"></div></li><li><code>columnIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>newText</code> : String<div class="sub-desc">The new header text</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-hiddenchange"></a><b><a href="source/ColumnModel.html#event-Ext.grid.ColumnModel-hiddenchange">hiddenchange</a></b> :\r
382                                       (&nbsp;<code>ColumnModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;columnIndex</code>,&nbsp;<code>Boolean&nbsp;hidden</code>&nbsp;)\r
383     <div class="mdesc"><div class="short">Fires when a column is hidden or "unhidden".</div><div class="long">Fires when a column is hidden or "unhidden".<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : ColumnModel<div class="sub-desc"></div></li><li><code>columnIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>hidden</code> : Boolean<div class="sub-desc">true if hidden, false otherwise</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.ColumnModel-widthchange"></a><b><a href="source/ColumnModel.html#event-Ext.grid.ColumnModel-widthchange">widthchange</a></b> :\r
384                                       (&nbsp;<code>ColumnModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;columnIndex</code>,&nbsp;<code>Number&nbsp;newWidth</code>&nbsp;)\r
385     <div class="mdesc"><div class="short">Fires when the width of a column is programmaticially changed using\r
386 setColumnWidth.\r
387 Note internal resizing suppresses...</div><div class="long">Fires when the width of a column is programmaticially changed using
388 <code><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-setColumnWidth" ext:member="setColumnWidth" ext:cls="Ext.grid.ColumnModel">setColumnWidth</a></code>.
389 Note internal resizing suppresses the event from firing. See also
390 <a href="output/Ext.grid.GridPanel.html" ext:cls="Ext.grid.GridPanel">Ext.grid.GridPanel</a>.<code><a href="output/Ext.grid.ColumnModel.html#Ext.grid.ColumnModel-columnresize" ext:member="columnresize" ext:cls="Ext.grid.ColumnModel">columnresize</a></code>.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : ColumnModel<div class="sub-desc"></div></li><li><code>columnIndex</code> : Number<div class="sub-desc">The column index</div></li><li><code>newWidth</code> : Number<div class="sub-desc">The new width</div></li></ul></div></div></div></td><td class="msource">ColumnModel</td></tr></tbody></table></div>