commit extjs-2.2.1
[extjs.git] / docs / output / Ext.data.GroupingStore.html
1         <div class="body-wrap">
2         <div class="top-tools">
3             <a class="inner-link" href="#Ext.data.GroupingStore-props"><img src="../resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>
4             <a class="inner-link" href="#Ext.data.GroupingStore-methods"><img src="../resources/images/default/s.gif" class="item-icon icon-method">Methods</a>
5             <a class="inner-link" href="#Ext.data.GroupingStore-events"><img src="../resources/images/default/s.gif" class="item-icon icon-event">Events</a>
6                             <a class="inner-link" href="#Ext.data.GroupingStore-configs"><img src="../resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>
7                         <a class="bookmark" href="../docs/?class=Ext.data.GroupingStore"><img src="../resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>
8         </div>
9                 <div class="inheritance res-block">
10 <pre class="res-block-inner"><a ext:cls="Ext.util.Observable" ext:member="" href="output/Ext.util.Observable.html">Observable</a>
11   <img src="resources/elbow-end.gif"/><a ext:cls="Ext.data.Store" ext:member="" href="output/Ext.data.Store.html">Store</a>
12     <img src="resources/elbow-end.gif"/>GroupingStore</pre></div>
13                 <h1>Class Ext.data.GroupingStore</h1>
14         <table cellspacing="0">
15             <tr><td class="label">Package:</td><td class="hd-info">Ext.data</td></tr>
16             <tr><td class="label">Defined In:</td><td class="hd-info"><a href="../src/GroupingStore.js" target="_blank">GroupingStore.js</a></td></tr>
17             <tr><td class="label">Class:</td><td class="hd-info">GroupingStore</td></tr>
18                                     <tr><td class="label">Extends:</td><td class="hd-info"><a ext:cls="Ext.data.Store" ext:member="" href="output/Ext.data.Store.html">Store</a></td></tr>
19                     </table>
20         <div class="description">
21             *
22 A specialized store implementation that provides for grouping records by one of the available fields. This
23 is usually used in conjunction with an <a ext:cls="Ext.grid.GroupingView" href="output/Ext.grid.GroupingView.html">Ext.grid.GroupingView</a> to proved the data model for
24 a grouped GridPanel.        </div>
25         
26         <div class="hr"></div>
27                 <a id="Ext.data.GroupingStore-configs"></a>
28         <h2>Config Options</h2>
29         <table cellspacing="0" class="member-table">
30             <tr>
31                 <th class="sig-header" colspan="2">Config Options</th>
32                 <th class="msource-header">Defined By</th>
33             </tr>
34                 <tr class="config-row inherited">\r
35         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
36         <td class="sig">\r
37         <a id="Ext.data.GroupingStore-autoLoad"></a>\r
38             <b>autoLoad</b> : Boolean/Object            <div class="mdesc">\r
39                             If passed, this store's load method is automatically called after creation with the autoLoad object                        </div>\r
40         </td>\r
41         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#autoLoad" href="output/Ext.data.Store.html#autoLoad">Store</a></td>\r
42     </tr>\r
43         <tr class="config-row inherited alt">\r
44         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
45         <td class="sig">\r
46         <a id="Ext.data.GroupingStore-baseParams"></a>\r
47             <b>baseParams</b> : Object            <div class="mdesc">\r
48                             An object containing properties which are to be sent as parameters on any HTTP request                        </div>\r
49         </td>\r
50         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#baseParams" href="output/Ext.data.Store.html#baseParams">Store</a></td>\r
51     </tr>\r
52         <tr class="config-row inherited">\r
53         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
54         <td class="sig">\r
55         <a id="Ext.data.GroupingStore-data"></a>\r
56             <b>data</b> : Array            <div class="mdesc">\r
57                             Inline data to be loaded when the store is initialized.                        </div>\r
58         </td>\r
59         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#data" href="output/Ext.data.Store.html#data">Store</a></td>\r
60     </tr>\r
61         <tr class="config-row alt">\r
62         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
63         <td class="sig">\r
64         <a id="Ext.data.GroupingStore-groupField"></a>\r
65             <b>groupField</b> : String            <div class="mdesc">\r
66                             The field name by which to sort the store's data (defaults to '').                        </div>\r
67         </td>\r
68         <td class="msource">GroupingStore</td>\r
69     </tr>\r
70         <tr class="config-row expandable">\r
71         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
72         <td class="sig">\r
73         <a id="Ext.data.GroupingStore-groupOnSort"></a>\r
74             <b>groupOnSort</b> : Boolean            <div class="mdesc">\r
75                         <div class="short">True to sort the data on the grouping field when a grouping operation occurs, false to sort based on the existing sor...</div>\r
76             <div class="long">\r
77                 True to sort the data on the grouping field when a grouping operation occurs, false to sort based on the existing sort info (defaults to false).            </div>\r
78                         </div>\r
79         </td>\r
80         <td class="msource">GroupingStore</td>\r
81     </tr>\r
82         <tr class="config-row inherited alt expandable">\r
83         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
84         <td class="sig">\r
85         <a id="Ext.data.GroupingStore-listeners"></a>\r
86             <b>listeners</b> : Object            <div class="mdesc">\r
87                         <div class="short">(optional) A config object containing one or more event handlers to be added to this object during initialization. Th...</div>\r
88             <div class="long">\r
89                 (optional) A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the <a ext:cls="Ext.util.Observable" ext:member="addListener" href="output/Ext.util.Observable.html#addListener">addListener</a> example for attaching multiple handlers at once.            </div>\r
90                         </div>\r
91         </td>\r
92         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#listeners" href="output/Ext.util.Observable.html#listeners">Observable</a></td>\r
93     </tr>\r
94         <tr class="config-row inherited">\r
95         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
96         <td class="sig">\r
97         <a id="Ext.data.GroupingStore-proxy"></a>\r
98             <b>proxy</b> : Ext.data.DataProxy            <div class="mdesc">\r
99                             The Proxy object which provides access to a data object.                        </div>\r
100         </td>\r
101         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#proxy" href="output/Ext.data.Store.html#proxy">Store</a></td>\r
102     </tr>\r
103         <tr class="config-row inherited alt expandable">\r
104         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
105         <td class="sig">\r
106         <a id="Ext.data.GroupingStore-pruneModifiedRecords"></a>\r
107             <b>pruneModifiedRecords</b> : boolean            <div class="mdesc">\r
108                         <div class="short">True to clear all modified record information each time the store is loaded or when a record is removed. (defaults to...</div>\r
109             <div class="long">\r
110                 True to clear all modified record information each time the store is loaded or when a record is removed. (defaults to false).            </div>\r
111                         </div>\r
112         </td>\r
113         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#pruneModifiedRecords" href="output/Ext.data.Store.html#pruneModifiedRecords">Store</a></td>\r
114     </tr>\r
115         <tr class="config-row inherited expandable">\r
116         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
117         <td class="sig">\r
118         <a id="Ext.data.GroupingStore-reader"></a>\r
119             <b>reader</b> : Ext.data.DataReader            <div class="mdesc">\r
120                         <div class="short">The DataReader object which processes the data object and returns an Array of Ext.data.Record objects which are cache...</div>\r
121             <div class="long">\r
122                 The DataReader object which processes the data object and returns an Array of Ext.data.Record objects which are cached keyed by their <em>id</em> property.            </div>\r
123                         </div>\r
124         </td>\r
125         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#reader" href="output/Ext.data.Store.html#reader">Store</a></td>\r
126     </tr>\r
127         <tr class="config-row alt expandable">\r
128         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
129         <td class="sig">\r
130         <a id="Ext.data.GroupingStore-remoteGroup"></a>\r
131             <b>remoteGroup</b> : Boolean            <div class="mdesc">\r
132                         <div class="short">True if the grouping should apply on the server side, false if it is local only (defaults to false). If the grouping ...</div>\r
133             <div class="long">\r
134                 True if the grouping should apply on the server side, false if it is local only (defaults to false). If the grouping is local, it can be applied immediately to the data. If it is remote, then it will simply act as a helper, automatically sending the grouping field name as the 'groupBy' param with each XHR call.            </div>\r
135                         </div>\r
136         </td>\r
137         <td class="msource">GroupingStore</td>\r
138     </tr>\r
139         <tr class="config-row inherited expandable">\r
140         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
141         <td class="sig">\r
142         <a id="Ext.data.GroupingStore-remoteSort"></a>\r
143             <b>remoteSort</b> : boolean            <div class="mdesc">\r
144                         <div class="short">True if sorting is to be handled by requesting the Proxy to provide a refreshed version of the data object in sorted ...</div>\r
145             <div class="long">\r
146                 True if sorting is to be handled by requesting the Proxy to provide a refreshed version of the data object in sorted order, as opposed to sorting the Record cache in place (defaults to false). <p>If remote sorting is specified, then clicking on a column header causes the current page to be requested from the server with the addition of the following two parameters: <div class="mdetail-params"><ul> <li><b>sort</b> : String<p class="sub-desc">The name (as specified in the Record's Field definition) of the field to sort on.</p></li> <li><b>dir</b> : String<p class="sub-desc">The direction of the sort, "ASC" or "DESC" (case-sensitive).</p></li> </ul></div></p>            </div>\r
147                         </div>\r
148         </td>\r
149         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#remoteSort" href="output/Ext.data.Store.html#remoteSort">Store</a></td>\r
150     </tr>\r
151         <tr class="config-row inherited alt expandable">\r
152         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
153         <td class="sig">\r
154         <a id="Ext.data.GroupingStore-sortInfo"></a>\r
155             <b>sortInfo</b> : Object            <div class="mdesc">\r
156                         <div class="short">A config object in the format: {field: "fieldName", direction: "ASC|DESC"} to specify the sort order in the request o...</div>\r
157             <div class="long">\r
158                 A config object in the format: {field: "fieldName", direction: "ASC|DESC"} to specify the sort order in the request of a remote Store's <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a> operation. Note that for local sorting, the direction property is case-sensitive.            </div>\r
159                         </div>\r
160         </td>\r
161         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#sortInfo" href="output/Ext.data.Store.html#sortInfo">Store</a></td>\r
162     </tr>\r
163         <tr class="config-row inherited">\r
164         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
165         <td class="sig">\r
166         <a id="Ext.data.GroupingStore-storeId"></a>\r
167             <b>storeId</b> : String            <div class="mdesc">\r
168                             If passed, the id to use to register with the StoreMgr                        </div>\r
169         </td>\r
170         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#storeId" href="output/Ext.data.Store.html#storeId">Store</a></td>\r
171     </tr>\r
172         <tr class="config-row inherited alt">\r
173         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
174         <td class="sig">\r
175         <a id="Ext.data.GroupingStore-url"></a>\r
176             <b>url</b> : String            <div class="mdesc">\r
177                             If passed, an HttpProxy is created for the passed URL                        </div>\r
178         </td>\r
179         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#url" href="output/Ext.data.Store.html#url">Store</a></td>\r
180     </tr>\r
181             </table>
182                 <a id="Ext.data.GroupingStore-props"></a>
183         <h2>Public Properties</h2>
184                 <table cellspacing="0" class="member-table">
185             <tr>
186                 <th class="sig-header" colspan="2">Property</th>
187                 <th class="msource-header">Defined By</th>
188             </tr>
189                 <tr class="property-row inherited expandable">\r
190         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
191         <td class="sig">\r
192         <a id="Ext.data.GroupingStore-baseParams"></a>\r
193             <b>baseParams</b> : Object            <div class="mdesc">\r
194                         <div class="short">An object containing properties which are used as parameters on any HTTP request.
195 This property can be changed after ...</div>\r
196             <div class="long">\r
197                 An object containing properties which are used as parameters on any HTTP request.
198 This property can be changed after creating the Store to send different parameters.            </div>\r
199                         </div>\r
200         </td>\r
201         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#baseParams" href="output/Ext.data.Store.html#baseParams">Store</a></td>\r
202     </tr>\r
203         <tr class="property-row inherited alt">\r
204         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
205         <td class="sig">\r
206         <a id="Ext.data.GroupingStore-fields"></a>\r
207             <b>fields</b> : Ext.util.MixedCollection            <div class="mdesc">\r
208                             A MixedCollection containing the defined <a ext:cls="Ext.data.Field" href="output/Ext.data.Field.html">Field</a>s for the Records stored in this Store.  Read-only.                        </div>\r
209         </td>\r
210         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#fields" href="output/Ext.data.Store.html#fields">Store</a></td>\r
211     </tr>\r
212         <tr class="property-row inherited expandable">\r
213         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
214         <td class="sig">\r
215         <a id="Ext.data.GroupingStore-lastOptions"></a>\r
216             <b>lastOptions</b> : Object            <div class="mdesc">\r
217                         <div class="short">Contains the last options object used as the parameter to the load method. See load
218 for the details of what this may ...</div>\r
219             <div class="long">\r
220                 Contains the last options object used as the parameter to the load method. See <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a>
221 for the details of what this may contain. This may be useful for accessing any params which
222 were used to load the current Record cache.            </div>\r
223                         </div>\r
224         </td>\r
225         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#lastOptions" href="output/Ext.data.Store.html#lastOptions">Store</a></td>\r
226     </tr>\r
227         <tr class="property-row inherited alt expandable">\r
228         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
229         <td class="sig">\r
230         <a id="Ext.data.GroupingStore-paramNames"></a>\r
231             <b>paramNames</b> : Object            <div class="mdesc">\r
232                         <div class="short">An object containing properties which specify the names of the paging and
233 sorting parameters passed to remote servers...</div>\r
234             <div class="long">\r
235                 <p>An object containing properties which specify the names of the paging and
236 sorting parameters passed to remote servers when loading blocks of data. By default, this
237 object takes the following form:</p><pre><code>{
238     start : <em>"start"</em>,    <i>// The parameter name which specifies the start row</i>
239     limit : <em>"limit"</em>,    <i>// The parameter name which specifies number of rows to <b>return</b></i>
240     sort : <em>"sort"</em>,      <i>// The parameter name which specifies the column to sort on</i>
241     dir : <em>"dir"</em>         <i>// The parameter name which specifies the sort direction</i>
242 }</code></pre>
243 <p>The server must produce the requested data block upon receipt of these parameter names.
244 If different parameter names are required, this property can be overriden using a configuration
245 property.</p>
246 <p>A <a ext:cls="Ext.PagingToolbar" href="output/Ext.PagingToolbar.html">PagingToolbar</a> bound to this grid uses this property to determine
247 the parameter names to use in its requests.            </div>\r
248                         </div>\r
249         </td>\r
250         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#paramNames" href="output/Ext.data.Store.html#paramNames">Store</a></td>\r
251     </tr>\r
252         <tr class="property-row inherited expandable">\r
253         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
254         <td class="sig">\r
255         <a id="Ext.data.GroupingStore-recordType"></a>\r
256             <b>recordType</b> : Function            <div class="mdesc">\r
257                         <div class="short">The Record constructor as supplied to (or created by) the Reader.  Read-only.
258 If the Reader was constructed by passin...</div>\r
259             <div class="long">\r
260                 The <a ext:cls="Ext.data.Record" href="output/Ext.data.Record.html">Record</a> constructor as supplied to (or created by) the <a ext:cls="Ext.data.Reader" ext:member="Reader" href="output/Ext.data.Reader.html#Reader">Reader</a>.  Read-only.
261 <p>If the Reader was constructed by passing in an Array of field definition objects, instead of an created
262 Record constructor it will have <a ext:cls="Ext.data.Record" ext:member="create" href="output/Ext.data.Record.html#create">created a constructor</a> from that Array.</p>
263 <p>This property may be used to create new Records of the type held in this Store.</p>            </div>\r
264                         </div>\r
265         </td>\r
266         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#recordType" href="output/Ext.data.Store.html#recordType">Store</a></td>\r
267     </tr>\r
268             </table>
269                 <a id="Ext.data.GroupingStore-methods"></a>
270         <h2>Public Methods</h2>
271                 <table cellspacing="0" class="member-table">
272             <tr>
273                 <th class="sig-header" colspan="2">Method</th>
274                 <th class="msource-header">Defined By</th>
275             </tr>
276                 <tr class="method-row expandable">\r
277         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
278         <td class="sig">\r
279         <a id="Ext.data.GroupingStore-GroupingStore"></a>\r
280             <b>GroupingStore</b>(&nbsp;<code>Object config</code>&nbsp;)            <div class="mdesc">\r
281                         <div class="short">Creates a new GroupingStore.</div>\r
282             <div class="long">\r
283                 Creates a new GroupingStore.    <div class="mdetail-params">\r
284         <strong>Parameters:</strong>\r
285         <ul><li><code>config</code> : Object<div class="sub-desc">A config object containing the objects needed for the Store to access data,
286 and read the data into Records.</div></li>        </ul>\r
287         <strong>Returns:</strong>\r
288         <ul>\r
289             <li><code></code></li>\r
290         </ul>\r
291     </div>\r
292                 </div>\r
293                         </div>\r
294         </td>\r
295         <td class="msource">GroupingStore</td>\r
296     </tr>\r
297         <tr class="method-row inherited alt expandable">\r
298         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
299         <td class="sig">\r
300         <a id="Ext.data.GroupingStore-add"></a>\r
301             <b>add</b>(&nbsp;<code>Ext.data.Record[] records</code>&nbsp;) : void            <div class="mdesc">\r
302                         <div class="short">Add Records to the Store and fires the <a ext:cls="Ext.data.Store" ext:member="add" href="output/Ext.data.Store.html#add">add</a> event.</div>\r
303             <div class="long">\r
304                 Add Records to the Store and fires the <a ext:cls="Ext.data.Store" ext:member="add" href="output/Ext.data.Store.html#add">add</a> event.    <div class="mdetail-params">\r
305         <strong>Parameters:</strong>\r
306         <ul><li><code>records</code> : Ext.data.Record[]<div class="sub-desc">An Array of Ext.data.Record objects to add to the cache.</div></li>        </ul>\r
307         <strong>Returns:</strong>\r
308         <ul>\r
309             <li><code>void</code></li>\r
310         </ul>\r
311     </div>\r
312                 </div>\r
313                         </div>\r
314         </td>\r
315         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#add" href="output/Ext.data.Store.html#add">Store</a></td>\r
316     </tr>\r
317         <tr class="method-row inherited expandable">\r
318         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
319         <td class="sig">\r
320         <a id="Ext.data.GroupingStore-addEvents"></a>\r
321             <b>addEvents</b>(&nbsp;<code>Object object</code>&nbsp;) : void            <div class="mdesc">\r
322                         <div class="short">Used to define events on this Observable</div>\r
323             <div class="long">\r
324                 Used to define events on this Observable    <div class="mdetail-params">\r
325         <strong>Parameters:</strong>\r
326         <ul><li><code>object</code> : Object<div class="sub-desc">The object with the events defined</div></li>        </ul>\r
327         <strong>Returns:</strong>\r
328         <ul>\r
329             <li><code>void</code></li>\r
330         </ul>\r
331     </div>\r
332                 </div>\r
333                         </div>\r
334         </td>\r
335         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#addEvents" href="output/Ext.util.Observable.html#addEvents">Observable</a></td>\r
336     </tr>\r
337         <tr class="method-row inherited alt expandable">\r
338         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
339         <td class="sig">\r
340         <a id="Ext.data.GroupingStore-addListener"></a>\r
341             <b>addListener</b>(&nbsp;<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>Object options</code>]</span>&nbsp;) : void            <div class="mdesc">\r
342                         <div class="short">Appends an event handler to this component</div>\r
343             <div class="long">\r
344                 Appends an event handler to this component    <div class="mdetail-params">\r
345         <strong>Parameters:</strong>\r
346         <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 in which to execute the handler
347 function. The handler function's "this" context.</div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration
348 properties. This may contain any of the following properties:<ul>
349 <li><b>scope</b> : Object<p class="sub-desc">The scope in which to execute the handler function. The handler function's "this" context.</p></li>
350 <li><b>delay</b> : Number<p class="sub-desc">The number of milliseconds to delay the invocation of the handler after the event fires.</p></li>
351 <li><b>single</b> : Boolean<p class="sub-desc">True to add a handler to handle just the next firing of the event, and then remove itself.</p></li>
352 <li><b>buffer</b> : Number<p class="sub-desc">Causes the handler to be scheduled to run in an <a ext:cls="Ext.util.DelayedTask" href="output/Ext.util.DelayedTask.html">Ext.util.DelayedTask</a> delayed
353 by the specified number of milliseconds. If the event fires again within that time, the original
354 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</p></li>
355 </ul><br>
356 <p>
357 <b>Combining Options</b><br>
358 Using the options argument, it is possible to combine different types of listeners:<br>
359 <br>
360 A normalized, delayed, one-time listener that auto stops the event and passes a custom argument (forumId)
361 <pre><code>el.on(<em>'click'</em>, <b>this</b>.onClick, <b>this</b>, {
362     single: true,
363     delay: 100,
364     forumId: 4
365 });</code></pre>
366 <p>
367 <b>Attaching multiple handlers in 1 call</b><br>
368 The method also allows for a single argument to be passed which is a config object containing properties
369 which specify multiple handlers.
370 <p>
371 <pre><code>foo.on({
372     <em>'click'</em> : {
373         fn: <b>this</b>.onClick,
374         scope: <b>this</b>,
375         delay: 100
376     },
377     <em>'mouseover'</em> : {
378         fn: <b>this</b>.onMouseOver,
379         scope: <b>this</b>
380     },
381     <em>'mouseout'</em> : {
382         fn: <b>this</b>.onMouseOut,
383         scope: <b>this</b>
384     }
385 });</code></pre>
386 <p>
387 Or a shorthand syntax:<br>
388 <pre><code>foo.on({
389     <em>'click'</em> : <b>this</b>.onClick,
390     <em>'mouseover'</em> : <b>this</b>.onMouseOver,
391     <em>'mouseout'</em> : <b>this</b>.onMouseOut,
392      scope: <b>this</b>
393 });</code></pre></div></li>        </ul>\r
394         <strong>Returns:</strong>\r
395         <ul>\r
396             <li><code>void</code></li>\r
397         </ul>\r
398     </div>\r
399                 </div>\r
400                         </div>\r
401         </td>\r
402         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#addListener" href="output/Ext.util.Observable.html#addListener">Observable</a></td>\r
403     </tr>\r
404         <tr class="method-row inherited expandable">\r
405         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
406         <td class="sig">\r
407         <a id="Ext.data.GroupingStore-addSorted"></a>\r
408             <b>addSorted</b>(&nbsp;<code>Ext.data.Record record</code>&nbsp;) : void            <div class="mdesc">\r
409                         <div class="short">(Local sort only) Inserts the passed Record into the Store at the index where it
410 should go based on the current sort ...</div>\r
411             <div class="long">\r
412                 (Local sort only) Inserts the passed Record into the Store at the index where it
413 should go based on the current sort information.    <div class="mdetail-params">\r
414         <strong>Parameters:</strong>\r
415         <ul><li><code>record</code> : Ext.data.Record<div class="sub-desc"></div></li>        </ul>\r
416         <strong>Returns:</strong>\r
417         <ul>\r
418             <li><code>void</code></li>\r
419         </ul>\r
420     </div>\r
421                 </div>\r
422                         </div>\r
423         </td>\r
424         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#addSorted" href="output/Ext.data.Store.html#addSorted">Store</a></td>\r
425     </tr>\r
426         <tr class="method-row inherited alt expandable">\r
427         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
428         <td class="sig">\r
429         <a id="Ext.data.GroupingStore-clearFilter"></a>\r
430             <b>clearFilter</b>(&nbsp;<code>Boolean suppressEvent</code>&nbsp;) : void            <div class="mdesc">\r
431                         <div class="short">Revert to a view of the Record cache with no filtering applied.</div>\r
432             <div class="long">\r
433                 Revert to a view of the Record cache with no filtering applied.    <div class="mdetail-params">\r
434         <strong>Parameters:</strong>\r
435         <ul><li><code>suppressEvent</code> : Boolean<div class="sub-desc">If true the filter is cleared silently without notifying listeners</div></li>        </ul>\r
436         <strong>Returns:</strong>\r
437         <ul>\r
438             <li><code>void</code></li>\r
439         </ul>\r
440     </div>\r
441                 </div>\r
442                         </div>\r
443         </td>\r
444         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#clearFilter" href="output/Ext.data.Store.html#clearFilter">Store</a></td>\r
445     </tr>\r
446         <tr class="method-row expandable">\r
447         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
448         <td class="sig">\r
449         <a id="Ext.data.GroupingStore-clearGrouping"></a>\r
450             <b>clearGrouping</b>() : void            <div class="mdesc">\r
451                         <div class="short">Clears any existing grouping and refreshes the data using the default sort.</div>\r
452             <div class="long">\r
453                 Clears any existing grouping and refreshes the data using the default sort.    <div class="mdetail-params">\r
454         <strong>Parameters:</strong>\r
455         <ul><li>None.</li>        </ul>\r
456         <strong>Returns:</strong>\r
457         <ul>\r
458             <li><code>void</code></li>\r
459         </ul>\r
460     </div>\r
461                 </div>\r
462                         </div>\r
463         </td>\r
464         <td class="msource">GroupingStore</td>\r
465     </tr>\r
466         <tr class="method-row inherited alt expandable">\r
467         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
468         <td class="sig">\r
469         <a id="Ext.data.GroupingStore-collect"></a>\r
470             <b>collect</b>(&nbsp;<code>String dataIndex</code>, <span class="optional" title="Optional">[<code>Boolean allowNull</code>]</span>, <span class="optional" title="Optional">[<code>Boolean bypassFilter</code>]</span>&nbsp;) : Array            <div class="mdesc">\r
471                         <div class="short">Collects unique values for a particular dataIndex from this store.</div>\r
472             <div class="long">\r
473                 Collects unique values for a particular dataIndex from this store.    <div class="mdetail-params">\r
474         <strong>Parameters:</strong>\r
475         <ul><li><code>dataIndex</code> : String<div class="sub-desc">The property to collect</div></li><li><code>allowNull</code> : Boolean<div class="sub-desc">(optional) Pass true to allow null, undefined or empty string values</div></li><li><code>bypassFilter</code> : Boolean<div class="sub-desc">(optional) Pass true to collect from all records, even ones which are filtered</div></li>        </ul>\r
476         <strong>Returns:</strong>\r
477         <ul>\r
478             <li><code>Array</code><div class="sub-desc">An array of the unique values</div></li>\r
479         </ul>\r
480     </div>\r
481                 </div>\r
482                         </div>\r
483         </td>\r
484         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#collect" href="output/Ext.data.Store.html#collect">Store</a></td>\r
485     </tr>\r
486         <tr class="method-row inherited expandable">\r
487         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
488         <td class="sig">\r
489         <a id="Ext.data.GroupingStore-commitChanges"></a>\r
490             <b>commitChanges</b>() : void            <div class="mdesc">\r
491                         <div class="short">Commit all Records with outstanding changes. To handle updates for changes, subscribe to the
492 Store's "update" event, ...</div>\r
493             <div class="long">\r
494                 Commit all Records with outstanding changes. To handle updates for changes, subscribe to the
495 Store's "update" event, and perform updating when the third parameter is Ext.data.Record.COMMIT.    <div class="mdetail-params">\r
496         <strong>Parameters:</strong>\r
497         <ul><li>None.</li>        </ul>\r
498         <strong>Returns:</strong>\r
499         <ul>\r
500             <li><code>void</code></li>\r
501         </ul>\r
502     </div>\r
503                 </div>\r
504                         </div>\r
505         </td>\r
506         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#commitChanges" href="output/Ext.data.Store.html#commitChanges">Store</a></td>\r
507     </tr>\r
508         <tr class="method-row inherited alt expandable">\r
509         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
510         <td class="sig">\r
511         <a id="Ext.data.GroupingStore-each"></a>\r
512             <b>each</b>(&nbsp;<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>&nbsp;) : void            <div class="mdesc">\r
513                         <div class="short">Calls the specified function for each of the Records in the cache.</div>\r
514             <div class="long">\r
515                 Calls the specified function for each of the Records in the cache.    <div class="mdetail-params">\r
516         <strong>Parameters:</strong>\r
517         <ul><li><code>fn</code> : Function<div class="sub-desc">The function to call. The Record is passed as the first parameter.
518 Returning <tt>false</tt> aborts and exits the iteration.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope in which to call the function (defaults to the Record).</div></li>        </ul>\r
519         <strong>Returns:</strong>\r
520         <ul>\r
521             <li><code>void</code></li>\r
522         </ul>\r
523     </div>\r
524                 </div>\r
525                         </div>\r
526         </td>\r
527         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#each" href="output/Ext.data.Store.html#each">Store</a></td>\r
528     </tr>\r
529         <tr class="method-row inherited expandable">\r
530         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
531         <td class="sig">\r
532         <a id="Ext.data.GroupingStore-filter"></a>\r
533             <b>filter</b>(&nbsp;<code>String field</code>, <code>String/RegExp value</code>, <span class="optional" title="Optional">[<code>Boolean anyMatch</code>]</span>, <span class="optional" title="Optional">[<code>Boolean caseSensitive</code>]</span>&nbsp;) : void            <div class="mdesc">\r
534                         <div class="short">Filter the records by a specified property.</div>\r
535             <div class="long">\r
536                 Filter the records by a specified property.    <div class="mdetail-params">\r
537         <strong>Parameters:</strong>\r
538         <ul><li><code>field</code> : String<div class="sub-desc">A field on your records</div></li><li><code>value</code> : String/RegExp<div class="sub-desc">Either a string that the field
539 should begin with, or a RegExp to test against the field.</div></li><li><code>anyMatch</code> : Boolean<div class="sub-desc">(optional) True to match any part not just the beginning</div></li><li><code>caseSensitive</code> : Boolean<div class="sub-desc">(optional) True for case sensitive comparison</div></li>        </ul>\r
540         <strong>Returns:</strong>\r
541         <ul>\r
542             <li><code>void</code></li>\r
543         </ul>\r
544     </div>\r
545                 </div>\r
546                         </div>\r
547         </td>\r
548         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#filter" href="output/Ext.data.Store.html#filter">Store</a></td>\r
549     </tr>\r
550         <tr class="method-row inherited alt expandable">\r
551         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
552         <td class="sig">\r
553         <a id="Ext.data.GroupingStore-filterBy"></a>\r
554             <b>filterBy</b>(&nbsp;<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>&nbsp;) : void            <div class="mdesc">\r
555                         <div class="short">Filter by a function. The specified function will be called for each
556 Record in this Store. If the function returns tr...</div>\r
557             <div class="long">\r
558                 Filter by a function. The specified function will be called for each
559 Record in this Store. If the function returns <tt>true</tt> the Record is included,
560 otherwise it is filtered out.    <div class="mdetail-params">\r
561         <strong>Parameters:</strong>\r
562         <ul><li><code>fn</code> : Function<div class="sub-desc">The function to be called. It will be passed the following parameters:<ul>
563 <li><b>record</b> : Ext.data.Record<p class="sub-desc">The <a ext:cls="Ext.data.Record" href="output/Ext.data.Record.html">record</a>
564 to test for filtering. Access field values using <a ext:cls="Ext.data.Record" ext:member="get" href="output/Ext.data.Record.html#get">Ext.data.Record.get</a>.</p></li>
565 <li><b>id</b> : Object<p class="sub-desc">The ID of the Record passed.</p></li>
566 </ul></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope of the function (defaults to this)</div></li>        </ul>\r
567         <strong>Returns:</strong>\r
568         <ul>\r
569             <li><code>void</code></li>\r
570         </ul>\r
571     </div>\r
572                 </div>\r
573                         </div>\r
574         </td>\r
575         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#filterBy" href="output/Ext.data.Store.html#filterBy">Store</a></td>\r
576     </tr>\r
577         <tr class="method-row inherited expandable">\r
578         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
579         <td class="sig">\r
580         <a id="Ext.data.GroupingStore-find"></a>\r
581             <b>find</b>(&nbsp;<code>String property</code>, <code>String/RegExp value</code>, <span class="optional" title="Optional">[<code>Number startIndex</code>]</span>, <span class="optional" title="Optional">[<code>Boolean anyMatch</code>]</span>, <span class="optional" title="Optional">[<code>Boolean caseSensitive</code>]</span>&nbsp;) : Number            <div class="mdesc">\r
582                         <div class="short">Finds the index of the first matching record in this store by a specific property/value.</div>\r
583             <div class="long">\r
584                 Finds the index of the first matching record in this store by a specific property/value.    <div class="mdetail-params">\r
585         <strong>Parameters:</strong>\r
586         <ul><li><code>property</code> : String<div class="sub-desc">A property on your objects</div></li><li><code>value</code> : String/RegExp<div class="sub-desc">Either a string that the property value
587 should begin with, or a RegExp to test against the property.</div></li><li><code>startIndex</code> : Number<div class="sub-desc">(optional) The index to start searching at</div></li><li><code>anyMatch</code> : Boolean<div class="sub-desc">(optional) True to match any part of the string, not just the beginning</div></li><li><code>caseSensitive</code> : Boolean<div class="sub-desc">(optional) True for case sensitive comparison</div></li>        </ul>\r
588         <strong>Returns:</strong>\r
589         <ul>\r
590             <li><code>Number</code><div class="sub-desc">The matched index or -1</div></li>\r
591         </ul>\r
592     </div>\r
593                 </div>\r
594                         </div>\r
595         </td>\r
596         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#find" href="output/Ext.data.Store.html#find">Store</a></td>\r
597     </tr>\r
598         <tr class="method-row inherited alt expandable">\r
599         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
600         <td class="sig">\r
601         <a id="Ext.data.GroupingStore-findBy"></a>\r
602             <b>findBy</b>(&nbsp;<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>Number startIndex</code>]</span>&nbsp;) : Number            <div class="mdesc">\r
603                         <div class="short">Find the index of the first matching Record in this Store by a function.
604 If the function returns true it is considere...</div>\r
605             <div class="long">\r
606                 Find the index of the first matching Record in this Store by a function.
607 If the function returns <tt>true</tt> it is considered a match.    <div class="mdetail-params">\r
608         <strong>Parameters:</strong>\r
609         <ul><li><code>fn</code> : Function<div class="sub-desc">The function to be called. It will be passed the following parameters:<ul>
610 <li><b>record</b> : Ext.data.Record<p class="sub-desc">The <a ext:cls="Ext.data.Record" href="output/Ext.data.Record.html">record</a>
611 to test for filtering. Access field values using <a ext:cls="Ext.data.Record" ext:member="get" href="output/Ext.data.Record.html#get">Ext.data.Record.get</a>.</p></li>
612 <li><b>id</b> : Object<p class="sub-desc">The ID of the Record passed.</p></li>
613 </ul></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope of the function (defaults to this)</div></li><li><code>startIndex</code> : Number<div class="sub-desc">(optional) The index to start searching at</div></li>        </ul>\r
614         <strong>Returns:</strong>\r
615         <ul>\r
616             <li><code>Number</code><div class="sub-desc">The matched index or -1</div></li>\r
617         </ul>\r
618     </div>\r
619                 </div>\r
620                         </div>\r
621         </td>\r
622         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#findBy" href="output/Ext.data.Store.html#findBy">Store</a></td>\r
623     </tr>\r
624         <tr class="method-row inherited expandable">\r
625         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
626         <td class="sig">\r
627         <a id="Ext.data.GroupingStore-fireEvent"></a>\r
628             <b>fireEvent</b>(&nbsp;<code>String eventName</code>, <code>Object... args</code>&nbsp;) : Boolean            <div class="mdesc">\r
629                         <div class="short">Fires the specified event with the passed parameters (minus the event name).</div>\r
630             <div class="long">\r
631                 Fires the specified event with the passed parameters (minus the event name).    <div class="mdetail-params">\r
632         <strong>Parameters:</strong>\r
633         <ul><li><code>eventName</code> : String<div class="sub-desc"></div></li><li><code>args</code> : Object...<div class="sub-desc">Variable number of parameters are passed to handlers</div></li>        </ul>\r
634         <strong>Returns:</strong>\r
635         <ul>\r
636             <li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true</div></li>\r
637         </ul>\r
638     </div>\r
639                 </div>\r
640                         </div>\r
641         </td>\r
642         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#fireEvent" href="output/Ext.util.Observable.html#fireEvent">Observable</a></td>\r
643     </tr>\r
644         <tr class="method-row inherited alt expandable">\r
645         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
646         <td class="sig">\r
647         <a id="Ext.data.GroupingStore-getAt"></a>\r
648             <b>getAt</b>(&nbsp;<code>Number index</code>&nbsp;) : Ext.data.Record            <div class="mdesc">\r
649                         <div class="short">Get the Record at the specified index.</div>\r
650             <div class="long">\r
651                 Get the Record at the specified index.    <div class="mdetail-params">\r
652         <strong>Parameters:</strong>\r
653         <ul><li><code>index</code> : Number<div class="sub-desc">The index of the Record to find.</div></li>        </ul>\r
654         <strong>Returns:</strong>\r
655         <ul>\r
656             <li><code>Ext.data.Record</code><div class="sub-desc">The Record at the passed index. Returns undefined if not found.</div></li>\r
657         </ul>\r
658     </div>\r
659                 </div>\r
660                         </div>\r
661         </td>\r
662         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getAt" href="output/Ext.data.Store.html#getAt">Store</a></td>\r
663     </tr>\r
664         <tr class="method-row inherited expandable">\r
665         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
666         <td class="sig">\r
667         <a id="Ext.data.GroupingStore-getById"></a>\r
668             <b>getById</b>(&nbsp;<code>String id</code>&nbsp;) : Ext.data.Record            <div class="mdesc">\r
669                         <div class="short">Get the Record with the specified id.</div>\r
670             <div class="long">\r
671                 Get the Record with the specified id.    <div class="mdetail-params">\r
672         <strong>Parameters:</strong>\r
673         <ul><li><code>id</code> : String<div class="sub-desc">The id of the Record to find.</div></li>        </ul>\r
674         <strong>Returns:</strong>\r
675         <ul>\r
676             <li><code>Ext.data.Record</code><div class="sub-desc">The Record with the passed id. Returns undefined if not found.</div></li>\r
677         </ul>\r
678     </div>\r
679                 </div>\r
680                         </div>\r
681         </td>\r
682         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getById" href="output/Ext.data.Store.html#getById">Store</a></td>\r
683     </tr>\r
684         <tr class="method-row inherited alt expandable">\r
685         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
686         <td class="sig">\r
687         <a id="Ext.data.GroupingStore-getCount"></a>\r
688             <b>getCount</b>() : Number            <div class="mdesc">\r
689                         <div class="short">Gets the number of cached records.
690 If using paging, this may not be the total size of the dataset. If the data object...</div>\r
691             <div class="long">\r
692                 Gets the number of cached records.
693 <p>If using paging, this may not be the total size of the dataset. If the data object
694 used by the Reader contains the dataset size, then the <a ext:cls="Ext.data.Store" ext:member="getTotalCount" href="output/Ext.data.Store.html#getTotalCount">getTotalCount</a> function returns
695 the dataset size.</p>    <div class="mdetail-params">\r
696         <strong>Parameters:</strong>\r
697         <ul><li>None.</li>        </ul>\r
698         <strong>Returns:</strong>\r
699         <ul>\r
700             <li><code>Number</code><div class="sub-desc">The number of Records in the Store's cache.</div></li>\r
701         </ul>\r
702     </div>\r
703                 </div>\r
704                         </div>\r
705         </td>\r
706         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getCount" href="output/Ext.data.Store.html#getCount">Store</a></td>\r
707     </tr>\r
708         <tr class="method-row inherited expandable">\r
709         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
710         <td class="sig">\r
711         <a id="Ext.data.GroupingStore-getModifiedRecords"></a>\r
712             <b>getModifiedRecords</b>() : Ext.data.Record[]            <div class="mdesc">\r
713                         <div class="short">Gets all records modified since the last commit.  Modified records are persisted across load operations
714 (e.g., during...</div>\r
715             <div class="long">\r
716                 Gets all records modified since the last commit.  Modified records are persisted across load operations
717 (e.g., during paging).    <div class="mdetail-params">\r
718         <strong>Parameters:</strong>\r
719         <ul><li>None.</li>        </ul>\r
720         <strong>Returns:</strong>\r
721         <ul>\r
722             <li><code>Ext.data.Record[]</code><div class="sub-desc">An array of Records containing outstanding modifications.</div></li>\r
723         </ul>\r
724     </div>\r
725                 </div>\r
726                         </div>\r
727         </td>\r
728         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getModifiedRecords" href="output/Ext.data.Store.html#getModifiedRecords">Store</a></td>\r
729     </tr>\r
730         <tr class="method-row inherited alt expandable">\r
731         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
732         <td class="sig">\r
733         <a id="Ext.data.GroupingStore-getRange"></a>\r
734             <b>getRange</b>(&nbsp;<span class="optional" title="Optional">[<code>Number startIndex</code>]</span>, <span class="optional" title="Optional">[<code>Number endIndex</code>]</span>&nbsp;) : Ext.data.Record[]            <div class="mdesc">\r
735                         <div class="short">Returns a range of Records between specified indices.</div>\r
736             <div class="long">\r
737                 Returns a range of Records between specified indices.    <div class="mdetail-params">\r
738         <strong>Parameters:</strong>\r
739         <ul><li><code>startIndex</code> : Number<div class="sub-desc">(optional) The starting index (defaults to 0)</div></li><li><code>endIndex</code> : Number<div class="sub-desc">(optional) The ending index (defaults to the last Record in the Store)</div></li>        </ul>\r
740         <strong>Returns:</strong>\r
741         <ul>\r
742             <li><code>Ext.data.Record[]</code><div class="sub-desc">An array of Records</div></li>\r
743         </ul>\r
744     </div>\r
745                 </div>\r
746                         </div>\r
747         </td>\r
748         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getRange" href="output/Ext.data.Store.html#getRange">Store</a></td>\r
749     </tr>\r
750         <tr class="method-row inherited expandable">\r
751         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
752         <td class="sig">\r
753         <a id="Ext.data.GroupingStore-getSortState"></a>\r
754             <b>getSortState</b>() : Object            <div class="mdesc">\r
755                         <div class="short">Returns an object describing the current sort state of this Store.</div>\r
756             <div class="long">\r
757                 Returns an object describing the current sort state of this Store.    <div class="mdetail-params">\r
758         <strong>Parameters:</strong>\r
759         <ul><li>None.</li>        </ul>\r
760         <strong>Returns:</strong>\r
761         <ul>\r
762             <li><code>Object</code><div class="sub-desc">The sort state of the Store. An object with two properties:<ul> <li><b>field : String<p class="sub-desc">The name of the field by which the Records are sorted.</p></li> <li><b>direction : String<p class="sub-desc">The sort order, "ASC" or "DESC" (case-sensitive).</p></li> </ul></div></li>\r
763         </ul>\r
764     </div>\r
765                 </div>\r
766                         </div>\r
767         </td>\r
768         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getSortState" href="output/Ext.data.Store.html#getSortState">Store</a></td>\r
769     </tr>\r
770         <tr class="method-row inherited alt expandable">\r
771         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
772         <td class="sig">\r
773         <a id="Ext.data.GroupingStore-getTotalCount"></a>\r
774             <b>getTotalCount</b>() : Number            <div class="mdesc">\r
775                         <div class="short">Gets the total number of records in the dataset as returned by the server.
776 If using paging, for this to be accurate, ...</div>\r
777             <div class="long">\r
778                 Gets the total number of records in the dataset as returned by the server.
779 <p>If using paging, for this to be accurate, the data object used by the Reader must contain
780 the dataset size. For remote data sources, this is provided by a query on the server.</p>    <div class="mdetail-params">\r
781         <strong>Parameters:</strong>\r
782         <ul><li>None.</li>        </ul>\r
783         <strong>Returns:</strong>\r
784         <ul>\r
785             <li><code>Number</code><div class="sub-desc">The number of Records as specified in the data object passed to the Reader by the Proxy <p><b>This value is not updated when changing the contents of the Store locally.</b></p></div></li>\r
786         </ul>\r
787     </div>\r
788                 </div>\r
789                         </div>\r
790         </td>\r
791         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#getTotalCount" href="output/Ext.data.Store.html#getTotalCount">Store</a></td>\r
792     </tr>\r
793         <tr class="method-row expandable">\r
794         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
795         <td class="sig">\r
796         <a id="Ext.data.GroupingStore-groupBy"></a>\r
797             <b>groupBy</b>(&nbsp;<code>String field</code>, <span class="optional" title="Optional">[<code>Boolean forceRegroup</code>]</span>&nbsp;) : void            <div class="mdesc">\r
798                         <div class="short">Groups the data by the specified field.</div>\r
799             <div class="long">\r
800                 Groups the data by the specified field.    <div class="mdetail-params">\r
801         <strong>Parameters:</strong>\r
802         <ul><li><code>field</code> : String<div class="sub-desc">The field name by which to sort the store's data</div></li><li><code>forceRegroup</code> : Boolean<div class="sub-desc">(optional) True to force the group to be refreshed even if the field passed
803 in is the same as the current grouping field, false to skip grouping on the same field (defaults to false)</div></li>        </ul>\r
804         <strong>Returns:</strong>\r
805         <ul>\r
806             <li><code>void</code></li>\r
807         </ul>\r
808     </div>\r
809                 </div>\r
810                         </div>\r
811         </td>\r
812         <td class="msource">GroupingStore</td>\r
813     </tr>\r
814         <tr class="method-row inherited alt expandable">\r
815         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
816         <td class="sig">\r
817         <a id="Ext.data.GroupingStore-hasListener"></a>\r
818             <b>hasListener</b>(&nbsp;<code>String eventName</code>&nbsp;) : Boolean            <div class="mdesc">\r
819                         <div class="short">Checks to see if this object has any listeners for a specified event</div>\r
820             <div class="long">\r
821                 Checks to see if this object has any listeners for a specified event    <div class="mdetail-params">\r
822         <strong>Parameters:</strong>\r
823         <ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to check for</div></li>        </ul>\r
824         <strong>Returns:</strong>\r
825         <ul>\r
826             <li><code>Boolean</code><div class="sub-desc">True if the event is being listened for, else false</div></li>\r
827         </ul>\r
828     </div>\r
829                 </div>\r
830                         </div>\r
831         </td>\r
832         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#hasListener" href="output/Ext.util.Observable.html#hasListener">Observable</a></td>\r
833     </tr>\r
834         <tr class="method-row inherited expandable">\r
835         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
836         <td class="sig">\r
837         <a id="Ext.data.GroupingStore-indexOf"></a>\r
838             <b>indexOf</b>(&nbsp;<code>Ext.data.Record record</code>&nbsp;) : Number            <div class="mdesc">\r
839                         <div class="short">Get the index within the cache of the passed Record.</div>\r
840             <div class="long">\r
841                 Get the index within the cache of the passed Record.    <div class="mdetail-params">\r
842         <strong>Parameters:</strong>\r
843         <ul><li><code>record</code> : Ext.data.Record<div class="sub-desc">The Ext.data.Record object to find.</div></li>        </ul>\r
844         <strong>Returns:</strong>\r
845         <ul>\r
846             <li><code>Number</code><div class="sub-desc">The index of the passed Record. Returns -1 if not found.</div></li>\r
847         </ul>\r
848     </div>\r
849                 </div>\r
850                         </div>\r
851         </td>\r
852         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#indexOf" href="output/Ext.data.Store.html#indexOf">Store</a></td>\r
853     </tr>\r
854         <tr class="method-row inherited alt expandable">\r
855         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
856         <td class="sig">\r
857         <a id="Ext.data.GroupingStore-indexOfId"></a>\r
858             <b>indexOfId</b>(&nbsp;<code>String id</code>&nbsp;) : Number            <div class="mdesc">\r
859                         <div class="short">Get the index within the cache of the Record with the passed id.</div>\r
860             <div class="long">\r
861                 Get the index within the cache of the Record with the passed id.    <div class="mdetail-params">\r
862         <strong>Parameters:</strong>\r
863         <ul><li><code>id</code> : String<div class="sub-desc">The id of the Record to find.</div></li>        </ul>\r
864         <strong>Returns:</strong>\r
865         <ul>\r
866             <li><code>Number</code><div class="sub-desc">The index of the Record. Returns -1 if not found.</div></li>\r
867         </ul>\r
868     </div>\r
869                 </div>\r
870                         </div>\r
871         </td>\r
872         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#indexOfId" href="output/Ext.data.Store.html#indexOfId">Store</a></td>\r
873     </tr>\r
874         <tr class="method-row inherited expandable">\r
875         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
876         <td class="sig">\r
877         <a id="Ext.data.GroupingStore-insert"></a>\r
878             <b>insert</b>(&nbsp;<code>Number index</code>, <code>Ext.data.Record[] records</code>&nbsp;) : void            <div class="mdesc">\r
879                         <div class="short">Inserts Records into the Store at the given index and fires the <a ext:cls="Ext.data.Store" ext:member="add" href="output/Ext.data.Store.html#add">add</a> event.</div>\r
880             <div class="long">\r
881                 Inserts Records into the Store at the given index and fires the <a ext:cls="Ext.data.Store" ext:member="add" href="output/Ext.data.Store.html#add">add</a> event.    <div class="mdetail-params">\r
882         <strong>Parameters:</strong>\r
883         <ul><li><code>index</code> : Number<div class="sub-desc">The start index at which to insert the passed Records.</div></li><li><code>records</code> : Ext.data.Record[]<div class="sub-desc">An Array of Ext.data.Record objects to add to the cache.</div></li>        </ul>\r
884         <strong>Returns:</strong>\r
885         <ul>\r
886             <li><code>void</code></li>\r
887         </ul>\r
888     </div>\r
889                 </div>\r
890                         </div>\r
891         </td>\r
892         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#insert" href="output/Ext.data.Store.html#insert">Store</a></td>\r
893     </tr>\r
894         <tr class="method-row inherited alt expandable">\r
895         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
896         <td class="sig">\r
897         <a id="Ext.data.GroupingStore-isFiltered"></a>\r
898             <b>isFiltered</b>() : Boolean            <div class="mdesc">\r
899                         <div class="short">Returns true if this store is currently filtered</div>\r
900             <div class="long">\r
901                 Returns true if this store is currently filtered    <div class="mdetail-params">\r
902         <strong>Parameters:</strong>\r
903         <ul><li>None.</li>        </ul>\r
904         <strong>Returns:</strong>\r
905         <ul>\r
906             <li><code>Boolean</code></li>\r
907         </ul>\r
908     </div>\r
909                 </div>\r
910                         </div>\r
911         </td>\r
912         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#isFiltered" href="output/Ext.data.Store.html#isFiltered">Store</a></td>\r
913     </tr>\r
914         <tr class="method-row inherited expandable">\r
915         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
916         <td class="sig">\r
917         <a id="Ext.data.GroupingStore-load"></a>\r
918             <b>load</b>(&nbsp;<code>Object options</code>&nbsp;) : Boolean            <div class="mdesc">\r
919                         <div class="short">Loads the Record cache from the configured Proxy using the configured Reader.
920 If using remote paging, then the first ...</div>\r
921             <div class="long">\r
922                 Loads the Record cache from the configured Proxy using the configured Reader.
923 <p>If using remote paging, then the first load call must specify the <tt>start</tt>
924 and <tt>limit</tt> properties in the options.params property to establish the initial
925 position within the dataset, and the number of Records to cache on each read from the Proxy.</p>
926 <p><b>It is important to note that for remote data sources, loading is asynchronous,
927 and this call will return before the new data has been loaded. Perform any post-processing
928 in a callback function, or in a "load" event handler.</b></p>    <div class="mdetail-params">\r
929         <strong>Parameters:</strong>\r
930         <ul><li><code>options</code> : Object<div class="sub-desc">An object containing properties which control loading options:<ul>
931 <li><b>params</b> :Object<p class="sub-desc">An object containing properties to pass as HTTP parameters to a remote data source.</p></li>
932 <li><b>callback</b> : Function<p class="sub-desc">A function to be called after the Records have been loaded. The callback is
933 passed the following arguments:<ul>
934 <li>r : Ext.data.Record[]</li>
935 <li>options: Options object from the load call</li>
936 <li>success: Boolean success indicator</li></ul></p></li>
937 <li><b>scope</b> : Object<p class="sub-desc">Scope with which to call the callback (defaults to the Store object)</p></li>
938 <li><b>add</b> : Boolean<p class="sub-desc">Indicator to append loaded records rather than replace the current cache.</p></li>
939 </ul></div></li>        </ul>\r
940         <strong>Returns:</strong>\r
941         <ul>\r
942             <li><code>Boolean</code><div class="sub-desc">Whether the load fired (if beforeload failed).</div></li>\r
943         </ul>\r
944     </div>\r
945                 </div>\r
946                         </div>\r
947         </td>\r
948         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#load" href="output/Ext.data.Store.html#load">Store</a></td>\r
949     </tr>\r
950         <tr class="method-row inherited alt expandable">\r
951         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
952         <td class="sig">\r
953         <a id="Ext.data.GroupingStore-loadData"></a>\r
954             <b>loadData</b>(&nbsp;<code>Object data</code>, <span class="optional" title="Optional">[<code>Boolean add</code>]</span>&nbsp;) : void            <div class="mdesc">\r
955                         <div class="short">Loads data from a passed data block and fires the load event. A Reader which understands the format of the data
956 must ...</div>\r
957             <div class="long">\r
958                 Loads data from a passed data block and fires the <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a> event. A Reader which understands the format of the data
959 must have been configured in the constructor.    <div class="mdetail-params">\r
960         <strong>Parameters:</strong>\r
961         <ul><li><code>data</code> : Object<div class="sub-desc">The data block from which to read the Records. The format of the data expected
962 is dependent on the type of Reader that is configured and should correspond to that Reader's readRecords parameter.</div></li><li><code>add</code> : Boolean<div class="sub-desc">(Optional) True to add the new Records rather than replace the existing cache. <b>Remember that
963 Records in a Store are keyed by their <a ext:cls="Ext.data.Record" ext:member="id" href="output/Ext.data.Record.html#id">id</a>, so added Records with ids which are already present in
964 the Store will <i>replace</i> existing Records. Records with new, unique ids will be added.</b></div></li>        </ul>\r
965         <strong>Returns:</strong>\r
966         <ul>\r
967             <li><code>void</code></li>\r
968         </ul>\r
969     </div>\r
970                 </div>\r
971                         </div>\r
972         </td>\r
973         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#loadData" href="output/Ext.data.Store.html#loadData">Store</a></td>\r
974     </tr>\r
975         <tr class="method-row inherited expandable">\r
976         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
977         <td class="sig">\r
978         <a id="Ext.data.GroupingStore-on"></a>\r
979             <b>on</b>(&nbsp;<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>Object options</code>]</span>&nbsp;) : void            <div class="mdesc">\r
980                         <div class="short">Appends an event handler to this element (shorthand for addListener)</div>\r
981             <div class="long">\r
982                 Appends an event handler to this element (shorthand for addListener)    <div class="mdetail-params">\r
983         <strong>Parameters:</strong>\r
984         <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 in which to execute the handler
985 function. The handler function's "this" context.</div></li><li><code>options</code> : Object<div class="sub-desc">(optional)</div></li>        </ul>\r
986         <strong>Returns:</strong>\r
987         <ul>\r
988             <li><code>void</code></li>\r
989         </ul>\r
990     </div>\r
991                 </div>\r
992                         </div>\r
993         </td>\r
994         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#on" href="output/Ext.util.Observable.html#on">Observable</a></td>\r
995     </tr>\r
996         <tr class="method-row inherited alt expandable">\r
997         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
998         <td class="sig">\r
999         <a id="Ext.data.GroupingStore-purgeListeners"></a>\r
1000             <b>purgeListeners</b>() : void            <div class="mdesc">\r
1001                         <div class="short">Removes all listeners for this object</div>\r
1002             <div class="long">\r
1003                 Removes all listeners for this object    <div class="mdetail-params">\r
1004         <strong>Parameters:</strong>\r
1005         <ul><li>None.</li>        </ul>\r
1006         <strong>Returns:</strong>\r
1007         <ul>\r
1008             <li><code>void</code></li>\r
1009         </ul>\r
1010     </div>\r
1011                 </div>\r
1012                         </div>\r
1013         </td>\r
1014         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#purgeListeners" href="output/Ext.util.Observable.html#purgeListeners">Observable</a></td>\r
1015     </tr>\r
1016         <tr class="method-row inherited expandable">\r
1017         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1018         <td class="sig">\r
1019         <a id="Ext.data.GroupingStore-query"></a>\r
1020             <b>query</b>(&nbsp;<code>String field</code>, <code>String/RegExp value</code>, <span class="optional" title="Optional">[<code>Boolean anyMatch</code>]</span>, <span class="optional" title="Optional">[<code>Boolean caseSensitive</code>]</span>&nbsp;) : MixedCollection            <div class="mdesc">\r
1021                         <div class="short">Query the records by a specified property.</div>\r
1022             <div class="long">\r
1023                 Query the records by a specified property.    <div class="mdetail-params">\r
1024         <strong>Parameters:</strong>\r
1025         <ul><li><code>field</code> : String<div class="sub-desc">A field on your records</div></li><li><code>value</code> : String/RegExp<div class="sub-desc">Either a string that the field
1026 should begin with, or a RegExp to test against the field.</div></li><li><code>anyMatch</code> : Boolean<div class="sub-desc">(optional) True to match any part not just the beginning</div></li><li><code>caseSensitive</code> : Boolean<div class="sub-desc">(optional) True for case sensitive comparison</div></li>        </ul>\r
1027         <strong>Returns:</strong>\r
1028         <ul>\r
1029             <li><code>MixedCollection</code><div class="sub-desc">Returns an Ext.util.MixedCollection of the matched records</div></li>\r
1030         </ul>\r
1031     </div>\r
1032                 </div>\r
1033                         </div>\r
1034         </td>\r
1035         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#query" href="output/Ext.data.Store.html#query">Store</a></td>\r
1036     </tr>\r
1037         <tr class="method-row inherited alt expandable">\r
1038         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1039         <td class="sig">\r
1040         <a id="Ext.data.GroupingStore-queryBy"></a>\r
1041             <b>queryBy</b>(&nbsp;<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>&nbsp;) : MixedCollection            <div class="mdesc">\r
1042                         <div class="short">Query the cached records in this Store using a filtering function. The specified function
1043 will be called with each re...</div>\r
1044             <div class="long">\r
1045                 Query the cached records in this Store using a filtering function. The specified function
1046 will be called with each record in this Store. If the function returns <tt>true</tt> the record is
1047 included in the results.    <div class="mdetail-params">\r
1048         <strong>Parameters:</strong>\r
1049         <ul><li><code>fn</code> : Function<div class="sub-desc">The function to be called. It will be passed the following parameters:<ul>
1050 <li><b>record</b> : Ext.data.Record<p class="sub-desc">The <a ext:cls="Ext.data.Record" href="output/Ext.data.Record.html">record</a>
1051 to test for filtering. Access field values using <a ext:cls="Ext.data.Record" ext:member="get" href="output/Ext.data.Record.html#get">Ext.data.Record.get</a>.</p></li>
1052 <li><b>id</b> : Object<p class="sub-desc">The ID of the Record passed.</p></li>
1053 </ul></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope of the function (defaults to this)</div></li>        </ul>\r
1054         <strong>Returns:</strong>\r
1055         <ul>\r
1056             <li><code>MixedCollection</code><div class="sub-desc">Returns an Ext.util.MixedCollection of the matched records</div></li>\r
1057         </ul>\r
1058     </div>\r
1059                 </div>\r
1060                         </div>\r
1061         </td>\r
1062         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#queryBy" href="output/Ext.data.Store.html#queryBy">Store</a></td>\r
1063     </tr>\r
1064         <tr class="method-row inherited expandable">\r
1065         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1066         <td class="sig">\r
1067         <a id="Ext.data.GroupingStore-rejectChanges"></a>\r
1068             <b>rejectChanges</b>() : void            <div class="mdesc">\r
1069                         <div class="short">Cancel outstanding changes on all changed records.</div>\r
1070             <div class="long">\r
1071                 Cancel outstanding changes on all changed records.    <div class="mdetail-params">\r
1072         <strong>Parameters:</strong>\r
1073         <ul><li>None.</li>        </ul>\r
1074         <strong>Returns:</strong>\r
1075         <ul>\r
1076             <li><code>void</code></li>\r
1077         </ul>\r
1078     </div>\r
1079                 </div>\r
1080                         </div>\r
1081         </td>\r
1082         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#rejectChanges" href="output/Ext.data.Store.html#rejectChanges">Store</a></td>\r
1083     </tr>\r
1084         <tr class="method-row inherited alt expandable">\r
1085         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1086         <td class="sig">\r
1087         <a id="Ext.data.GroupingStore-relayEvents"></a>\r
1088             <b>relayEvents</b>(&nbsp;<code>Object o</code>, <code>Array events</code>&nbsp;) : void            <div class="mdesc">\r
1089                         <div class="short">Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.</div>\r
1090             <div class="long">\r
1091                 Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.    <div class="mdetail-params">\r
1092         <strong>Parameters:</strong>\r
1093         <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>\r
1094         <strong>Returns:</strong>\r
1095         <ul>\r
1096             <li><code>void</code></li>\r
1097         </ul>\r
1098     </div>\r
1099                 </div>\r
1100                         </div>\r
1101         </td>\r
1102         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#relayEvents" href="output/Ext.util.Observable.html#relayEvents">Observable</a></td>\r
1103     </tr>\r
1104         <tr class="method-row inherited expandable">\r
1105         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1106         <td class="sig">\r
1107         <a id="Ext.data.GroupingStore-reload"></a>\r
1108             <b>reload</b>(&nbsp;<span class="optional" title="Optional">[<code>Object options</code>]</span>&nbsp;) : void            <div class="mdesc">\r
1109                         <div class="short">Reloads the Record cache from the configured Proxy using the configured Reader and
1110 the options from the last load ope...</div>\r
1111             <div class="long">\r
1112                 <p>Reloads the Record cache from the configured Proxy using the configured Reader and
1113 the options from the last load operation performed.</p>
1114 <p><b>It is important to note that for remote data sources, loading is asynchronous,
1115 and this call will return before the new data has been loaded. Perform any post-processing
1116 in a callback function, or in a "load" event handler.</b></p>    <div class="mdetail-params">\r
1117         <strong>Parameters:</strong>\r
1118         <ul><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing loading options which may override the options
1119 used in the last load operation. See <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a> for details (defaults to null, in which case
1120 the most recently used options are reused).</div></li>        </ul>\r
1121         <strong>Returns:</strong>\r
1122         <ul>\r
1123             <li><code>void</code></li>\r
1124         </ul>\r
1125     </div>\r
1126                 </div>\r
1127                         </div>\r
1128         </td>\r
1129         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#reload" href="output/Ext.data.Store.html#reload">Store</a></td>\r
1130     </tr>\r
1131         <tr class="method-row inherited alt expandable">\r
1132         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1133         <td class="sig">\r
1134         <a id="Ext.data.GroupingStore-remove"></a>\r
1135             <b>remove</b>(&nbsp;<code>Ext.data.Record record</code>&nbsp;) : void            <div class="mdesc">\r
1136                         <div class="short">Remove a Record from the Store and fires the <a ext:cls="Ext.data.Store" ext:member="remove" href="output/Ext.data.Store.html#remove">remove</a> event.</div>\r
1137             <div class="long">\r
1138                 Remove a Record from the Store and fires the <a ext:cls="Ext.data.Store" ext:member="remove" href="output/Ext.data.Store.html#remove">remove</a> event.    <div class="mdetail-params">\r
1139         <strong>Parameters:</strong>\r
1140         <ul><li><code>record</code> : Ext.data.Record<div class="sub-desc">The Ext.data.Record object to remove from the cache.</div></li>        </ul>\r
1141         <strong>Returns:</strong>\r
1142         <ul>\r
1143             <li><code>void</code></li>\r
1144         </ul>\r
1145     </div>\r
1146                 </div>\r
1147                         </div>\r
1148         </td>\r
1149         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#remove" href="output/Ext.data.Store.html#remove">Store</a></td>\r
1150     </tr>\r
1151         <tr class="method-row inherited expandable">\r
1152         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1153         <td class="sig">\r
1154         <a id="Ext.data.GroupingStore-removeAll"></a>\r
1155             <b>removeAll</b>() : void            <div class="mdesc">\r
1156                         <div class="short">Remove all Records from the Store and fires the <a ext:cls="Ext.data.Store" ext:member="clear" href="output/Ext.data.Store.html#clear">clear</a> event.</div>\r
1157             <div class="long">\r
1158                 Remove all Records from the Store and fires the <a ext:cls="Ext.data.Store" ext:member="clear" href="output/Ext.data.Store.html#clear">clear</a> event.    <div class="mdetail-params">\r
1159         <strong>Parameters:</strong>\r
1160         <ul><li>None.</li>        </ul>\r
1161         <strong>Returns:</strong>\r
1162         <ul>\r
1163             <li><code>void</code></li>\r
1164         </ul>\r
1165     </div>\r
1166                 </div>\r
1167                         </div>\r
1168         </td>\r
1169         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#removeAll" href="output/Ext.data.Store.html#removeAll">Store</a></td>\r
1170     </tr>\r
1171         <tr class="method-row inherited alt expandable">\r
1172         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1173         <td class="sig">\r
1174         <a id="Ext.data.GroupingStore-removeAt"></a>\r
1175             <b>removeAt</b>(&nbsp;<code>Number index</code>&nbsp;) : void            <div class="mdesc">\r
1176                         <div class="short">Remove a Record from the Store at the specified index. Fires the <a ext:cls="Ext.data.Store" ext:member="remove" href="output/Ext.data.Store.html#remove">remove</a> event.</div>\r
1177             <div class="long">\r
1178                 Remove a Record from the Store at the specified index. Fires the <a ext:cls="Ext.data.Store" ext:member="remove" href="output/Ext.data.Store.html#remove">remove</a> event.    <div class="mdetail-params">\r
1179         <strong>Parameters:</strong>\r
1180         <ul><li><code>index</code> : Number<div class="sub-desc">The index of the record to remove.</div></li>        </ul>\r
1181         <strong>Returns:</strong>\r
1182         <ul>\r
1183             <li><code>void</code></li>\r
1184         </ul>\r
1185     </div>\r
1186                 </div>\r
1187                         </div>\r
1188         </td>\r
1189         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#removeAt" href="output/Ext.data.Store.html#removeAt">Store</a></td>\r
1190     </tr>\r
1191         <tr class="method-row inherited expandable">\r
1192         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1193         <td class="sig">\r
1194         <a id="Ext.data.GroupingStore-removeListener"></a>\r
1195             <b>removeListener</b>(&nbsp;<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>&nbsp;) : void            <div class="mdesc">\r
1196                         <div class="short">Removes a listener</div>\r
1197             <div class="long">\r
1198                 Removes a listener    <div class="mdetail-params">\r
1199         <strong>Parameters:</strong>\r
1200         <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 handler to remove</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (this object) for the handler</div></li>        </ul>\r
1201         <strong>Returns:</strong>\r
1202         <ul>\r
1203             <li><code>void</code></li>\r
1204         </ul>\r
1205     </div>\r
1206                 </div>\r
1207                         </div>\r
1208         </td>\r
1209         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#removeListener" href="output/Ext.util.Observable.html#removeListener">Observable</a></td>\r
1210     </tr>\r
1211         <tr class="method-row inherited alt expandable">\r
1212         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1213         <td class="sig">\r
1214         <a id="Ext.data.GroupingStore-resumeEvents"></a>\r
1215             <b>resumeEvents</b>() : void            <div class="mdesc">\r
1216                         <div class="short">Resume firing events. (see <a ext:cls="Ext.util.Observable" ext:member="suspendEvents" href="output/Ext.util.Observable.html#suspendEvents">suspendEvents</a>)</div>\r
1217             <div class="long">\r
1218                 Resume firing events. (see <a ext:cls="Ext.util.Observable" ext:member="suspendEvents" href="output/Ext.util.Observable.html#suspendEvents">suspendEvents</a>)    <div class="mdetail-params">\r
1219         <strong>Parameters:</strong>\r
1220         <ul><li>None.</li>        </ul>\r
1221         <strong>Returns:</strong>\r
1222         <ul>\r
1223             <li><code>void</code></li>\r
1224         </ul>\r
1225     </div>\r
1226                 </div>\r
1227                         </div>\r
1228         </td>\r
1229         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#resumeEvents" href="output/Ext.util.Observable.html#resumeEvents">Observable</a></td>\r
1230     </tr>\r
1231         <tr class="method-row inherited expandable">\r
1232         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1233         <td class="sig">\r
1234         <a id="Ext.data.GroupingStore-setDefaultSort"></a>\r
1235             <b>setDefaultSort</b>(&nbsp;<code>String fieldName</code>, <span class="optional" title="Optional">[<code>String dir</code>]</span>&nbsp;) : void            <div class="mdesc">\r
1236                         <div class="short">Sets the default sort column and order to be used by the next load operation.</div>\r
1237             <div class="long">\r
1238                 Sets the default sort column and order to be used by the next load operation.    <div class="mdetail-params">\r
1239         <strong>Parameters:</strong>\r
1240         <ul><li><code>fieldName</code> : String<div class="sub-desc">The name of the field to sort by.</div></li><li><code>dir</code> : String<div class="sub-desc">(optional) The sort order, "ASC" or "DESC" (case-sensitive, defaults to "ASC")</div></li>        </ul>\r
1241         <strong>Returns:</strong>\r
1242         <ul>\r
1243             <li><code>void</code></li>\r
1244         </ul>\r
1245     </div>\r
1246                 </div>\r
1247                         </div>\r
1248         </td>\r
1249         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#setDefaultSort" href="output/Ext.data.Store.html#setDefaultSort">Store</a></td>\r
1250     </tr>\r
1251         <tr class="method-row inherited alt expandable">\r
1252         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1253         <td class="sig">\r
1254         <a id="Ext.data.GroupingStore-sort"></a>\r
1255             <b>sort</b>(&nbsp;<code>String fieldName</code>, <span class="optional" title="Optional">[<code>String dir</code>]</span>&nbsp;) : void            <div class="mdesc">\r
1256                         <div class="short">Sort the Records.
1257 If remote sorting is used, the sort is performed on the server, and the cache is
1258 reloaded. If local...</div>\r
1259             <div class="long">\r
1260                 Sort the Records.
1261 If remote sorting is used, the sort is performed on the server, and the cache is
1262 reloaded. If local sorting is used, the cache is sorted internally.    <div class="mdetail-params">\r
1263         <strong>Parameters:</strong>\r
1264         <ul><li><code>fieldName</code> : String<div class="sub-desc">The name of the field to sort by.</div></li><li><code>dir</code> : String<div class="sub-desc">(optional) The sort order, "ASC" or "DESC" (case-sensitive, defaults to "ASC")</div></li>        </ul>\r
1265         <strong>Returns:</strong>\r
1266         <ul>\r
1267             <li><code>void</code></li>\r
1268         </ul>\r
1269     </div>\r
1270                 </div>\r
1271                         </div>\r
1272         </td>\r
1273         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#sort" href="output/Ext.data.Store.html#sort">Store</a></td>\r
1274     </tr>\r
1275         <tr class="method-row inherited expandable">\r
1276         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1277         <td class="sig">\r
1278         <a id="Ext.data.GroupingStore-sum"></a>\r
1279             <b>sum</b>(&nbsp;<code>String property</code>, <code>Number start</code>, <code>Number end</code>&nbsp;) : Number            <div class="mdesc">\r
1280                         <div class="short">Sums the value of <i>property</i> for each record between start and end and returns the result.</div>\r
1281             <div class="long">\r
1282                 Sums the value of <i>property</i> for each record between start and end and returns the result.    <div class="mdetail-params">\r
1283         <strong>Parameters:</strong>\r
1284         <ul><li><code>property</code> : String<div class="sub-desc">A field on your records</div></li><li><code>start</code> : Number<div class="sub-desc">The record index to start at (defaults to 0)</div></li><li><code>end</code> : Number<div class="sub-desc">The last record index to include (defaults to length - 1)</div></li>        </ul>\r
1285         <strong>Returns:</strong>\r
1286         <ul>\r
1287             <li><code>Number</code><div class="sub-desc">The sum</div></li>\r
1288         </ul>\r
1289     </div>\r
1290                 </div>\r
1291                         </div>\r
1292         </td>\r
1293         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#sum" href="output/Ext.data.Store.html#sum">Store</a></td>\r
1294     </tr>\r
1295         <tr class="method-row inherited alt expandable">\r
1296         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1297         <td class="sig">\r
1298         <a id="Ext.data.GroupingStore-suspendEvents"></a>\r
1299             <b>suspendEvents</b>() : void            <div class="mdesc">\r
1300                         <div class="short">Suspend the firing of all events. (see <a ext:cls="Ext.util.Observable" ext:member="resumeEvents" href="output/Ext.util.Observable.html#resumeEvents">resumeEvents</a>)</div>\r
1301             <div class="long">\r
1302                 Suspend the firing of all events. (see <a ext:cls="Ext.util.Observable" ext:member="resumeEvents" href="output/Ext.util.Observable.html#resumeEvents">resumeEvents</a>)    <div class="mdetail-params">\r
1303         <strong>Parameters:</strong>\r
1304         <ul><li>None.</li>        </ul>\r
1305         <strong>Returns:</strong>\r
1306         <ul>\r
1307             <li><code>void</code></li>\r
1308         </ul>\r
1309     </div>\r
1310                 </div>\r
1311                         </div>\r
1312         </td>\r
1313         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#suspendEvents" href="output/Ext.util.Observable.html#suspendEvents">Observable</a></td>\r
1314     </tr>\r
1315         <tr class="method-row inherited expandable">\r
1316         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1317         <td class="sig">\r
1318         <a id="Ext.data.GroupingStore-un"></a>\r
1319             <b>un</b>(&nbsp;<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>&nbsp;) : void            <div class="mdesc">\r
1320                         <div class="short">Removes a listener (shorthand for removeListener)</div>\r
1321             <div class="long">\r
1322                 Removes a listener (shorthand for removeListener)    <div class="mdetail-params">\r
1323         <strong>Parameters:</strong>\r
1324         <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 handler to remove</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (this object) for the handler</div></li>        </ul>\r
1325         <strong>Returns:</strong>\r
1326         <ul>\r
1327             <li><code>void</code></li>\r
1328         </ul>\r
1329     </div>\r
1330                 </div>\r
1331                         </div>\r
1332         </td>\r
1333         <td class="msource"><a ext:cls="Ext.util.Observable" ext:member="#un" href="output/Ext.util.Observable.html#un">Observable</a></td>\r
1334     </tr>\r
1335             </table>
1336                 <a id="Ext.data.GroupingStore-events"></a>
1337         <h2>Public Events</h2>
1338                 <table cellspacing="0" class="member-table">
1339             <tr>
1340                 <th class="sig-header" colspan="2">Event</th>
1341                 <th class="msource-header">Defined By</th>
1342             </tr>
1343                 <tr class="event-row inherited expandable">\r
1344         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1345         <td class="sig">\r
1346         <a id="Ext.data.GroupingStore-add"></a>\r
1347             <b>add</b> : (&nbsp;<code>Store this</code>, <code>Ext.data.Record[] records</code>, <code>Number index</code>&nbsp;)            <div class="mdesc">\r
1348                         <div class="short">Fires when Records have been added to the Store</div>\r
1349             <div class="long">\r
1350                 Fires when Records have been added to the Store    <div class="mdetail-params">\r
1351         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1352         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>records</code> : Ext.data.Record[]<div class="sub-desc">The array of Records added</div></li><li><code>index</code> : Number<div class="sub-desc">The index at which the record(s) were added</div></li>        </ul>\r
1353     </div>\r
1354                 </div>\r
1355                         </div>\r
1356         </td>\r
1357         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-add" href="output/Ext.data.Store.html#event-add">Store</a></td>\r
1358     </tr>\r
1359         <tr class="event-row inherited alt expandable">\r
1360         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1361         <td class="sig">\r
1362         <a id="Ext.data.GroupingStore-beforeload"></a>\r
1363             <b>beforeload</b> : (&nbsp;<code>Store this</code>, <code>Object options</code>&nbsp;)            <div class="mdesc">\r
1364                         <div class="short">Fires before a request is made for a new data object.  If the beforeload handler returns false
1365 the load action will b...</div>\r
1366             <div class="long">\r
1367                 Fires before a request is made for a new data object.  If the beforeload handler returns false
1368 the load action will be canceled.    <div class="mdetail-params">\r
1369         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1370         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>options</code> : Object<div class="sub-desc">The loading options that were specified (see <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a> for details)</div></li>        </ul>\r
1371     </div>\r
1372                 </div>\r
1373                         </div>\r
1374         </td>\r
1375         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-beforeload" href="output/Ext.data.Store.html#event-beforeload">Store</a></td>\r
1376     </tr>\r
1377         <tr class="event-row inherited expandable">\r
1378         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1379         <td class="sig">\r
1380         <a id="Ext.data.GroupingStore-clear"></a>\r
1381             <b>clear</b> : (&nbsp;<code>Store this</code>&nbsp;)            <div class="mdesc">\r
1382                         <div class="short">Fires when the data cache has been cleared.</div>\r
1383             <div class="long">\r
1384                 Fires when the data cache has been cleared.    <div class="mdetail-params">\r
1385         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1386         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li>        </ul>\r
1387     </div>\r
1388                 </div>\r
1389                         </div>\r
1390         </td>\r
1391         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-clear" href="output/Ext.data.Store.html#event-clear">Store</a></td>\r
1392     </tr>\r
1393         <tr class="event-row inherited alt expandable">\r
1394         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1395         <td class="sig">\r
1396         <a id="Ext.data.GroupingStore-datachanged"></a>\r
1397             <b>datachanged</b> : (&nbsp;<code>Store this</code>&nbsp;)            <div class="mdesc">\r
1398                         <div class="short">Fires when the data cache has changed in a bulk manner (e.g., it has been sorted, filtered, etc.) and a 
1399 widget that ...</div>\r
1400             <div class="long">\r
1401                 Fires when the data cache has changed in a bulk manner (e.g., it has been sorted, filtered, etc.) and a 
1402 widget that is using this Store as a Record cache should refresh its view.    <div class="mdetail-params">\r
1403         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1404         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li>        </ul>\r
1405     </div>\r
1406                 </div>\r
1407                         </div>\r
1408         </td>\r
1409         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-datachanged" href="output/Ext.data.Store.html#event-datachanged">Store</a></td>\r
1410     </tr>\r
1411         <tr class="event-row inherited expandable">\r
1412         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1413         <td class="sig">\r
1414         <a id="Ext.data.GroupingStore-load"></a>\r
1415             <b>load</b> : (&nbsp;<code>Store this</code>, <code>Ext.data.Record[] records</code>, <code>Object options</code>&nbsp;)            <div class="mdesc">\r
1416                         <div class="short">Fires after a new set of Records has been loaded.</div>\r
1417             <div class="long">\r
1418                 Fires after a new set of Records has been loaded.    <div class="mdetail-params">\r
1419         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1420         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>records</code> : Ext.data.Record[]<div class="sub-desc">The Records that were loaded</div></li><li><code>options</code> : Object<div class="sub-desc">The loading options that were specified (see <a ext:cls="Ext.data.Store" ext:member="load" href="output/Ext.data.Store.html#load">load</a> for details)</div></li>        </ul>\r
1421     </div>\r
1422                 </div>\r
1423                         </div>\r
1424         </td>\r
1425         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-load" href="output/Ext.data.Store.html#event-load">Store</a></td>\r
1426     </tr>\r
1427         <tr class="event-row inherited alt expandable">\r
1428         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1429         <td class="sig">\r
1430         <a id="Ext.data.GroupingStore-loadexception"></a>\r
1431             <b>loadexception</b> : ()            <div class="mdesc">\r
1432                         <div class="short">Fires if an exception occurs in the Proxy during loading.
1433 Called with the signature of the Proxy's "loadexception" ev...</div>\r
1434             <div class="long">\r
1435                 Fires if an exception occurs in the Proxy during loading.
1436 Called with the signature of the Proxy's "loadexception" event.    <div class="mdetail-params">\r
1437         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1438         <ul><li>None.</li>        </ul>\r
1439     </div>\r
1440                 </div>\r
1441                         </div>\r
1442         </td>\r
1443         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-loadexception" href="output/Ext.data.Store.html#event-loadexception">Store</a></td>\r
1444     </tr>\r
1445         <tr class="event-row inherited expandable">\r
1446         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1447         <td class="sig">\r
1448         <a id="Ext.data.GroupingStore-metachange"></a>\r
1449             <b>metachange</b> : (&nbsp;<code>Store this</code>, <code>Object meta</code>&nbsp;)            <div class="mdesc">\r
1450                         <div class="short">Fires when this store's reader provides new metadata (fields). This is currently only supported for JsonReaders.</div>\r
1451             <div class="long">\r
1452                 Fires when this store's reader provides new metadata (fields). This is currently only supported for JsonReaders.    <div class="mdetail-params">\r
1453         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1454         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>meta</code> : Object<div class="sub-desc">The JSON metadata</div></li>        </ul>\r
1455     </div>\r
1456                 </div>\r
1457                         </div>\r
1458         </td>\r
1459         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-metachange" href="output/Ext.data.Store.html#event-metachange">Store</a></td>\r
1460     </tr>\r
1461         <tr class="event-row inherited alt expandable">\r
1462         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1463         <td class="sig">\r
1464         <a id="Ext.data.GroupingStore-remove"></a>\r
1465             <b>remove</b> : (&nbsp;<code>Store this</code>, <code>Ext.data.Record record</code>, <code>Number index</code>&nbsp;)            <div class="mdesc">\r
1466                         <div class="short">Fires when a Record has been removed from the Store</div>\r
1467             <div class="long">\r
1468                 Fires when a Record has been removed from the Store    <div class="mdetail-params">\r
1469         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1470         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>record</code> : Ext.data.Record<div class="sub-desc">The Record that was removed</div></li><li><code>index</code> : Number<div class="sub-desc">The index at which the record was removed</div></li>        </ul>\r
1471     </div>\r
1472                 </div>\r
1473                         </div>\r
1474         </td>\r
1475         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-remove" href="output/Ext.data.Store.html#event-remove">Store</a></td>\r
1476     </tr>\r
1477         <tr class="event-row inherited expandable">\r
1478         <td class="micon"><a class="exi" href="#expand">&nbsp;</a></td>\r
1479         <td class="sig">\r
1480         <a id="Ext.data.GroupingStore-update"></a>\r
1481             <b>update</b> : (&nbsp;<code>Store this</code>, <code>Ext.data.Record record</code>, <code>String operation</code>&nbsp;)            <div class="mdesc">\r
1482                         <div class="short">Fires when a Record has been updated</div>\r
1483             <div class="long">\r
1484                 Fires when a Record has been updated    <div class="mdetail-params">\r
1485         <strong style="font-weight:normal;">Listeners will be called with the following arguments:</strong>\r
1486         <ul><li><code>this</code> : Store<div class="sub-desc"></div></li><li><code>record</code> : Ext.data.Record<div class="sub-desc">The Record that was updated</div></li><li><code>operation</code> : String<div class="sub-desc">The update operation being performed. Value may be one of:
1487 <pre><code>Ext.data.Record.EDIT
1488  Ext.data.Record.REJECT
1489  Ext.data.Record.COMMIT</code></pre></div></li>        </ul>\r
1490     </div>\r
1491                 </div>\r
1492                         </div>\r
1493         </td>\r
1494         <td class="msource"><a ext:cls="Ext.data.Store" ext:member="#event-update" href="output/Ext.data.Store.html#event-update">Store</a></td>\r
1495     </tr>\r
1496             </table>
1497         
1498         </div>