Upgrade to ExtJS 3.1.1 - Released 02/08/2010
[extjs.git] / docs / output / Ext.grid.CellSelectionModel.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"><a href="output/Ext.grid.AbstractSelectionModel.html" ext:member="" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif">CellSelectionModel</pre></div><h1>Class <a href="source/CellSelectionModel.html#cls-Ext.grid.CellSelectionModel">Ext.grid.CellSelectionModel</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">CellSelectionModel.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/CellSelectionModel.html#cls-Ext.grid.CellSelectionModel">CellSelectionModel</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.grid.AbstractSelectionModel.html" ext:cls="Ext.grid.AbstractSelectionModel" ext:member="">AbstractSelectionModel</a></td></tr></table><div class="description">This class provides the basic implementation for <i>single</i> <b>cell</b> selection in a grid.
2 The object stored as the selection contains the following properties:
3 <div class="mdetail-params"><ul>
4 <li><b>cell</b> : see <a href="output/Ext.grid.CellSelectionModel.html#Ext.grid.CellSelectionModel-getSelectedCell" ext:member="getSelectedCell" ext:cls="Ext.grid.CellSelectionModel">getSelectedCell</a> 
5 <li><b>record</b> : Ext.data.record The <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Record</a>
6 which provides the data for the row containing the selection</li>
7 </ul></div></div><div class="hr"></div><a id="Ext.grid.CellSelectionModel-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 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
8 object during initialization.  This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
9 object during initialization.  This should be a valid listeners config object as specified in the
10 <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>
11 <br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
12 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
13 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
14 <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
15 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
16 has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
17 <i>// The Component is appended to the argument list of all handler functions.</i>
18 Ext.DomObserver = Ext.extend(Object, {
19     constructor: <b>function</b>(config) {
20         this.listeners = config.listeners ? config.listeners : config;
21     },
22
23     <i>// Component passes itself into plugin&#39;s init method</i>
24     init: <b>function</b>(c) {
25         <b>var</b> p, l = this.listeners;
26         <b>for</b> (p <b>in</b> l) {
27             <b>if</b> (Ext.isFunction(l[p])) {
28                 l[p] = this.createHandler(l[p], c);
29             } <b>else</b> {
30                 l[p].fn = this.createHandler(l[p].fn, c);
31             }
32         }
33
34         <i>// Add the listeners to the Element immediately following the render call</i>
35         c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
36             <b>var</b> e = c.getEl();
37             <b>if</b> (e) {
38                 e.on(l);
39             }
40         });
41     },
42
43     createHandler: <b>function</b>(fn, c) {
44         <b>return</b> <b>function</b>(e) {
45             fn.call(this, e, c);
46         };
47     }
48 });
49
50 <b>var</b> combo = <b>new</b> Ext.form.ComboBox({
51
52     <i>// Collapse combo when its element is clicked on</i>
53     plugins: [ <b>new</b> Ext.DomObserver({
54         click: <b>function</b>(evt, comp) {
55             comp.collapse();
56         }
57     })],
58     store: myStore,
59     typeAhead: true,
60     mode: <em>'local'</em>,
61     triggerAction: <em>'all'</em>
62 });</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.CellSelectionModel-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  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.AbstractSelectionModel-grid"></a><b><a href="source/AbstractSelectionModel.html#prop-Ext.grid.AbstractSelectionModel-grid">grid</a></b> : Object<div class="mdesc">The GridPanel for which this SelectionModel is handling selection. Read-only.</div></td><td class="msource"><a href="output/Ext.grid.AbstractSelectionModel.html#grid" ext:member="#grid" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</a></td></tr></tbody></table><a id="Ext.grid.CellSelectionModel-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.CellSelectionModel-CellSelectionModel"></a><b><a href="source/CellSelectionModel.html#cls-Ext.grid.CellSelectionModel">CellSelectionModel</a></b>(&nbsp;<code>Object&nbsp;config</code>&nbsp;)
63     <div class="mdesc"><div class="short"></div><div class="long"><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>config</code> : Object<div class="sub-desc">The object containing the configuration of this model.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">CellSelectionModel</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;)
64     :
65                                         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>
66 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.
67 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;)
68     :
69                                         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.
70 <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.
71 properties. This may contain any of the following properties:<ul>
72 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
73 <b>If omitted, defaults to the object which fired the event.</b></div></li>
74 <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>
75 <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>
76 <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
77 by the specified number of milliseconds. If the event fires again within that time, the original
78 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
79 <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>
80 if the event was bubbled up from a child Observable.</div></li>
81 </ul><br>
82 <p>
83 <b>Combining Options</b><br>
84 Using the options argument, it is possible to combine different types of listeners:<br>
85 <br>
86 A delayed, one-time listener.
87 <pre><code>myDataView.on(<em>'click'</em>, this.onClick, this, {
88 single: true,
89 delay: 100
90 });</code></pre>
91 <p>
92 <b>Attaching multiple handlers in 1 call</b><br>
93 The method also allows for a single argument to be passed which is a config object containing properties
94 which specify multiple handlers.
95 <p>
96 <pre><code>myGridPanel.on({
97 <em>'click'</em> : {
98     fn: this.onClick,
99     scope: this,
100     delay: 100
101 },
102 <em>'mouseover'</em> : {
103     fn: this.onMouseOver,
104     scope: this
105 },
106 <em>'mouseout'</em> : {
107     fn: this.onMouseOut,
108     scope: this
109 }
110 });</code></pre>
111 <p>
112 Or a shorthand syntax:<br>
113 <pre><code>myGridPanel.on({
114 <em>'click'</em> : this.onClick,
115 <em>'mouseover'</em> : this.onMouseOver,
116 <em>'mouseout'</em> : this.onMouseOut,
117  scope: this
118 });</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.CellSelectionModel-clearSelections"></a><b><a href="source/CellSelectionModel.html#method-Ext.grid.CellSelectionModel-clearSelections">clearSelections</a></b>(&nbsp;<code>Boolean&nbsp;preventNotify</code>&nbsp;)
119     :
120                                         void<div class="mdesc"><div class="short">If anything is selected, clears all selections and fires the selectionchange event.</div><div class="long">If anything is selected, clears all selections and fires the selectionchange event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>preventNotify</code> : Boolean<div class="sub-desc"><tt>true</tt> to prevent the gridview from
121 being notified about the change.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">CellSelectionModel</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;)
122     :
123                                         void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling&#13;
124 this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
125 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
126 <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
127 implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
128 access the required target more quickly.</p>\r
129 <p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
130     <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\r</i>
131     initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
132         this.enableBubble(<em>'change'</em>);\r
133     }),\r
134 \r
135     <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\r</i>
136     getBubbleTarget : <b>function</b>() {\r
137         <b>if</b> (!this.formPanel) {\r
138             this.formPanel = this.findParentByType(<em>'form'</em>);\r
139         }\r
140         <b>return</b> this.formPanel;\r
141     }\r
142 });\r
143 \r
144 <b>var</b> myForm = <b>new</b> Ext.formPanel({\r
145     title: <em>'User Details'</em>,\r
146     items: [{\r
147         ...\r
148     }],\r
149     listeners: {\r
150         change: <b>function</b>() {\r
151             <i>// Title goes red <b>if</b> form has been modified.\r</i>
152             myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);\r
153         }\r
154     }\r
155 });</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 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;)
156     :
157                                         Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).
158 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>
159 <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>)
160 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.CellSelectionModel-getSelectedCell"></a><b><a href="source/CellSelectionModel.html#method-Ext.grid.CellSelectionModel-getSelectedCell">getSelectedCell</a></b>()
161     :
162                                         Array<div class="mdesc"><div class="short">Returns an array containing the row and column indexes of the currently selected cell
163 (e.g., [0, 0]), or null if none...</div><div class="long">Returns an array containing the row and column indexes of the currently selected cell
164 (e.g., [0, 0]), or null if none selected. The array has elements:
165 <div class="mdetail-params"><ul>
166 <li><b>rowIndex</b> : Number<p class="sub-desc">The index of the selected row</p></li>
167 <li><b>cellIndex</b> : Number<p class="sub-desc">The index of the selected cell. 
168 Due to possible column reordering, the cellIndex should <b>not</b> be used as an
169 index into the Record's data. Instead, use the cellIndex to determine the <i>name</i>
170 of the selected cell and use the field name to retrieve the data value from the record:<pre><code><i>// get name</i>
171 <b>var</b> fieldName = grid.getColumnModel().getDataIndex(cellIndex);
172 <i>// get data value based on name</i>
173 <b>var</b> data = record.get(fieldName);</code></pre></p></li>
174 </ul></div><div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">An array containing the row and column indexes of the selected cell, or null if none selected.</div></li></ul></div></div></div></td><td class="msource">CellSelectionModel</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;)
175     :
176                                         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.CellSelectionModel-hasSelection"></a><b><a href="source/CellSelectionModel.html#method-Ext.grid.CellSelectionModel-hasSelection">hasSelection</a></b>()
177     :
178                                         Boolean<div class="mdesc"><div class="short">Returns true if there is a selection.</div><div class="long">Returns <tt>true</tt> if there is a selection.<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">CellSelectionModel</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.grid.AbstractSelectionModel-isLocked"></a><b><a href="source/AbstractSelectionModel.html#method-Ext.grid.AbstractSelectionModel-isLocked">isLocked</a></b>()
179     :
180                                         Boolean<div class="mdesc"><div class="short">Returns true if the selections are locked.</div><div class="long">Returns true if the selections are locked.<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"><a href="output/Ext.grid.AbstractSelectionModel.html#isLocked" ext:member="#isLocked" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</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.grid.AbstractSelectionModel-lock"></a><b><a href="source/AbstractSelectionModel.html#method-Ext.grid.AbstractSelectionModel-lock">lock</a></b>()
181     :
182                                         void<div class="mdesc"><div class="short">Locks the selections.</div><div class="long">Locks the selections.<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.grid.AbstractSelectionModel.html#lock" ext:member="#lock" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</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-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;)
183     :
184                                         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.
185 <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>()
186     :
187                                         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;)
188     :
189                                         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;)
190     :
191                                         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>()
192     :
193                                         void<div class="mdesc"><div class="short">Resume firing events. (see suspendEvents)
194 If events were suspended using the queueSuspended parameter, then all
195 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>)
196 If events were suspended using the <tt><b>queueSuspended</b></tt> parameter, then all
197 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.CellSelectionModel-select"></a><b><a href="source/CellSelectionModel.html#method-Ext.grid.CellSelectionModel-select">select</a></b>(&nbsp;<code>Number&nbsp;rowIndex</code>,&nbsp;<code>Number&nbsp;colIndex</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;preventViewNotify</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;preventFocus</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Ext.data.Record&nbsp;r</code>]</span>&nbsp;)
198     :
199                                         void<div class="mdesc"><div class="short">Selects a cell.  Before selecting a cell, fires the
200 beforecellselect event.  If this check is satisfied the cell
201 will...</div><div class="long">Selects a cell.  Before selecting a cell, fires the
202 <a href="output/Ext.grid.CellSelectionModel.html#Ext.grid.CellSelectionModel-beforecellselect" ext:member="beforecellselect" ext:cls="Ext.grid.CellSelectionModel">beforecellselect</a> event.  If this check is satisfied the cell
203 will be selected and followed up by  firing the <a href="output/Ext.grid.CellSelectionModel.html#Ext.grid.CellSelectionModel-cellselect" ext:member="cellselect" ext:cls="Ext.grid.CellSelectionModel">cellselect</a> and
204 <a href="output/Ext.grid.CellSelectionModel.html#Ext.grid.CellSelectionModel-selectionchange" ext:member="selectionchange" ext:cls="Ext.grid.CellSelectionModel">selectionchange</a> events.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>rowIndex</code> : Number<div class="sub-desc">The index of the row to select</div></li><li><code>colIndex</code> : Number<div class="sub-desc">The index of the column to select</div></li><li><code>preventViewNotify</code> : Boolean<div class="sub-desc">(optional) Specify <tt>true</tt> to
205 prevent notifying the view (disables updating the selected appearance)</div></li><li><code>preventFocus</code> : Boolean<div class="sub-desc">(optional) Whether to prevent the cell at
206 the specified rowIndex / colIndex from being focused.</div></li><li><code>r</code> : Ext.data.Record<div class="sub-desc">(optional) The record to select</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">CellSelectionModel</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;)
207     :
208                                         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
209 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;)
210     :
211                                         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><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.grid.AbstractSelectionModel-unlock"></a><b><a href="source/AbstractSelectionModel.html#method-Ext.grid.AbstractSelectionModel-unlock">unlock</a></b>()
212     :
213                                         void<div class="mdesc"><div class="short">Unlocks the selections.</div><div class="long">Unlocks the selections.<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.grid.AbstractSelectionModel.html#unlock" ext:member="#unlock" ext:cls="Ext.grid.AbstractSelectionModel">AbstractSelectionModel</a></td></tr></tbody></table><a id="Ext.grid.CellSelectionModel-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.CellSelectionModel-beforecellselect"></a><b><a href="source/CellSelectionModel.html#event-Ext.grid.CellSelectionModel-beforecellselect">beforecellselect</a></b> :
214                                       (&nbsp;<code>SelectionModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;rowIndex</code>,&nbsp;<code>Number&nbsp;colIndex</code>&nbsp;)
215     <div class="mdesc"><div class="short">Fires before a cell is selected, return false to cancel the selection.</div><div class="long">Fires before a cell is selected, return false to cancel the selection.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : SelectionModel<div class="sub-desc"></div></li><li><code>rowIndex</code> : Number<div class="sub-desc">The selected row index</div></li><li><code>colIndex</code> : Number<div class="sub-desc">The selected cell index</div></li></ul></div></div></div></td><td class="msource">CellSelectionModel</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.CellSelectionModel-cellselect"></a><b><a href="source/CellSelectionModel.html#event-Ext.grid.CellSelectionModel-cellselect">cellselect</a></b> :
216                                       (&nbsp;<code>SelectionModel&nbsp;this</code>,&nbsp;<code>Number&nbsp;rowIndex</code>,&nbsp;<code>Number&nbsp;colIndex</code>&nbsp;)
217     <div class="mdesc"><div class="short">Fires when a cell is selected.</div><div class="long">Fires when a cell is selected.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : SelectionModel<div class="sub-desc"></div></li><li><code>rowIndex</code> : Number<div class="sub-desc">The selected row index</div></li><li><code>colIndex</code> : Number<div class="sub-desc">The selected cell index</div></li></ul></div></div></div></td><td class="msource">CellSelectionModel</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.CellSelectionModel-selectionchange"></a><b><a href="source/CellSelectionModel.html#event-Ext.grid.CellSelectionModel-selectionchange">selectionchange</a></b> :
218                                       (&nbsp;<code>SelectionModel&nbsp;this</code>,&nbsp;<code>Object&nbsp;selection</code>&nbsp;)
219     <div class="mdesc"><div class="short">Fires when the active selection changes.</div><div class="long">Fires when the active selection changes.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : SelectionModel<div class="sub-desc"></div></li><li><code>selection</code> : Object<div class="sub-desc">null for no selection or an object with two properties
220 <div class="mdetail-params"><ul>
221 <li><b>cell</b> : see <a href="output/Ext.grid.CellSelectionModel.html#Ext.grid.CellSelectionModel-getSelectedCell" ext:member="getSelectedCell" ext:cls="Ext.grid.CellSelectionModel">getSelectedCell</a> 
222 <li><b>record</b> : Ext.data.record<p class="sub-desc">The <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Record</a>
223 which provides the data for the row containing the selection</p></li>
224 </ul></div></div></li></ul></div></div></div></td><td class="msource">CellSelectionModel</td></tr></tbody></table></div>