webgui/www/extras/yui-ext/docs/output/YAHOO.ext.grid.JSONDataModel.html
JT Smith cfd09a5cb6 upgraded to yui 0.12.0
upgraded to yui-ext 0.33 rc2
2006-11-28 02:23:34 +00:00

1260 lines
No EOL
77 KiB
HTML

<!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>YAHOO.ext.grid.JSONDataModel</title>
<link rel="stylesheet" type="text/css" href="../resources/reset.css"/>
<link rel="stylesheet" type="text/css" href="../resources/style.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="../resources/print.css" media="print">
</head>
<body>
<div class="body-wrap">
<div class="top-tools"><img src="../resources/print.gif" width="16" height="16" align="absmiddle">&nbsp;<a href="YAHOO.ext.grid.JSONDataModel.html" target="_blank">Print Friendly</a></div>
<h1>Class YAHOO.ext.grid.JSONDataModel</h1>
<table cellspacing="0">
<tr><td class="label">Package:</td><td>YAHOO.ext.grid</td></tr>
<tr><td class="label">Class:</td><td>JSONDataModel</td></tr>
<tr><td class="label">Extends:</td><td><a href="YAHOO.ext.grid.LoadableDataModel.html">LoadableDataModel</a></td></tr>
<tr><td class="label">Defined In:</td><td><a href="JSONDataModel.js.html">JSONDataModel.js</a></td></tr>
</table>
<div class="description">
This is an implementation of a DataModel used by the Grid. It works
with JSON data.
<br>Example schema:
<pre><code>
var schema = {
root: 'Results.Result',
id: 'ASIN',
fields: ['Author', 'Title', 'Manufacturer', 'ProductGroup']
};
</code></pre> </div>
<hr />
<a name="properties"></a>
<h2>Public Properties</h2>
<table cellspacing="0" class="member-table">
<tr>
<th class="sig-header" colspan="2">Property</th>
<th class="msource-header">Defined By</th>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#baseParams">baseParams</a> : Object</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#baseParams">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">An object of key/value pairs to be passed as parameters
when loading pages/sorting</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#loadedPage">loadedPage</a> : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#loadedPage">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">The active page</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#pageSize">pageSize</a> : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#pageSize">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">The number of records per page</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#pageUrl">pageUrl</a> : String</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#pageUrl">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">The script/page to call to provide paged/sorted data</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#paramMap">paramMap</a> : Object</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#paramMap">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Maps named params to url parameters - Override to specify your own param names</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#remoteSort">remoteSort</a> : Boolean</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#remoteSort">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">True to use remote sorting, initPaging automatically sets this to true</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#sortTypes&lt;static&gt;">sortTypes&lt;static&gt;</a> : Object</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#sortTypes&lt;static&gt;">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">&lt;static&gt; Alias to YAHOO.ext.grid.DefaultColumnModel.sortTypes</td>
</tr>
</table>
<a name="methods"></a>
<h2>Public Methods</h2>
<table cellspacing="0" class="member-table">
<tr>
<th class="sig-header" colspan="2">Method</th>
<th class="msource-header">Defined By</th>
</tr>
<tr>
<td class="micon" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#JSONDataModel">JSONDataModel</a>()</td>
<td class="msource" rowspan="2">JSONDataModel</td>
</tr>
<tr>
<td class="mdesc"></td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#addListener">addListener</a>(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>boolean override</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.util.Observable.html#addListener">Observable</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Appends an event handler to this element</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#addPostprocessor">addPostprocessor</a>(<code>Number columnIndex</code>, <code>Function fn</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#addPostprocessor">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Adds a postprocessor function to format data before updating the underlying data source (ie. convert date to string b...</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#addPreprocessor">addPreprocessor</a>(<code>Number columnIndex</code>, <code>Function fn</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#addPreprocessor">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Adds a preprocessor function to parse data before it is added to the Model - ie. Date.parse to parse dates.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#addRow">addRow</a>(<code>Array cellValues</code>) : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#addRow">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Adds a row to the dataset.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#applySort">applySort</a>() : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#applySort">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Applies the last used sort to the current data.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#delayedListener">delayedListener</a>(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>Number delay</code>]</span>) : Function</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.util.Observable.html#delayedListener">Observable</a></td>
</tr>
<tr>
<td class="mdesc">Appends an event handler to this element that is delayed the specified number of milliseconds.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#each">each</a>(<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#each">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Calls passed function with each rows data - if the function returns false it stops.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#filter">filter</a>(<code>Object query</code>) : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#filter">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Filter the DataModel rows by the query defined in spec, see <a href="#query">query</a> for more details
on the query spec.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#fireEvent">fireEvent</a>(<code>String eventName</code>, <code>Object... args</code>) : Boolean</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.util.Observable.html#fireEvent">Observable</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Fires the specified event with the passed parameters (minus the event name).</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getPageSize">getPageSize</a>() : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#getPageSize">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns the number of records per page</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getPostprocessor">getPostprocessor</a>(<code>Number columnIndex</code>) : Function</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#getPostprocessor">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Gets the postprocessor function for the specified column.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getPreprocessor">getPreprocessor</a>(<code>Number columnIndex</code>) : Function</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#getPreprocessor">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Gets the preprocessor function for the specified column.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getRow">getRow</a>() : Array</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#getRow">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Returns the column data for the specified row.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getRowCount">getRowCount</a>() : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#getRowCount">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns the number of rows in the dataset</td>
</tr>
<tr class="alt">
<td class="micon" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getRowId">getRowId</a>(<code>Number rowIndex</code>) : Number</td>
<td class="msource" rowspan="2">JSONDataModel</td>
</tr>
<tr class="alt">
<td class="mdesc">Overrides getRowId in DefaultDataModel to return the ID value of the specified node.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getRows">getRows</a>(<code>Array indexes</code>) : Array</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#getRows">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns the column data for the specified rows as a
multi-dimensional array: rows[3][0] would give you the value of ...</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getTotalPages">getTotalPages</a>() : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#getTotalPages">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Returns the total number of pages available</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getTotalRowCount">getTotalRowCount</a>() : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#getTotalRowCount">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns the total number of records available, override if needed</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#getValueAt">getValueAt</a>(<code>Number rowIndex</code>, <code>Number colIndex</code>) : Object</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#getValueAt">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Returns the value at the specified data position</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#initPaging">initPaging</a>(<code>String url</code>, <code>Number pageSize</code>, <span class="optional" title="Optional">[<code>Object baseParams</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#initPaging">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Initializes paging for this model.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#insertRow">insertRow</a>(<code>Number index</code>, <code>Array cellValues</code>) : Number</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#insertRow">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Inserts a row a the specified location in the dataset.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#isPaged">isPaged</a>() : Boolean</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#isPaged">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns true if this model uses paging</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#load">load</a>(<code>Object/String url</code>, <span class="optional" title="Optional">[<code>String/Object params</code>]</span>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Number insertIndex</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#load">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Initiates the loading of the data from the specified URL - Failed load attempts will
fire the <a href="#loadexception">loadexception</a> event.</td>
</tr>
<tr>
<td class="micon" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#loadData">loadData</a>(<code>Object data</code>, <code>Function callback</code>) : void</td>
<td class="msource" rowspan="2">JSONDataModel</td>
</tr>
<tr>
<td class="mdesc">Overrides loadData in LoadableDataModel to process JSON data</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#loadPage">loadPage</a>(<code>Number pageNum</code>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Boolean keepExisting</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#loadPage">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Loads a page of data.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#purgeListeners">purgeListeners</a>() : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.util.Observable.html#purgeListeners">Observable</a></td>
</tr>
<tr>
<td class="mdesc">Removes all listeners for this object</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#query">query</a>(<code>Object spec</code>, <code>Boolean returnUnmatched</code>) : Array</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#query">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Query the DataModel rows by the filters defined in spec, for example...
// column 1 starts with Jack, column 2 filte...</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#removeListener">removeListener</a>(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.util.Observable.html#removeListener">Observable</a></td>
</tr>
<tr>
<td class="mdesc">Removes a listener</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#removePostprocessor">removePostprocessor</a>(<code>Number columnIndex</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#removePostprocessor">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Removes a postprocessor function.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#removePreprocessor">removePreprocessor</a>(<code>Number columnIndex</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#removePreprocessor">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Removes a preprocessor function.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#removeRow">removeRow</a>(<code>Number index</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#removeRow">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Remove a row.</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#setDefaultSort">setDefaultSort</a>(<code>Function/Object sortInfo</code>, <code>Number columnIndex</code>, <code>String direction</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#setDefaultSort">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Sets the default sort info. Note: this function does not actually apply the sort.</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#setValueAt">setValueAt</a>(<code>Object value</code>, <code>Number rowIndex</code>, <code>Number colIndex</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#setValueAt">DefaultDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Sets the specified value at the specified data position</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#sort">sort</a>(<code>Function/Object sortInfo</code>, <code>Number columnIndex</code>, <code>String direction</code>) : void</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#sort">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Sorts the data by the specified column - Uses the sortType specified for the column in the passed columnModel.</td>
</tr>
</table>
<a name="events"></a>
<h2>Public Events</h2>
<table cellspacing="0" class="member-table">
<tr>
<th class="sig-header" colspan="2">Event</th>
<th class="msource-header">Defined By</th>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-beforeload">beforeload</a> : (<code>DataModel this</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#event-beforeload">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Fires before a load takes place</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-cellupdated">cellupdated</a> : (<code>DataModel this</code>, <code>Number rowIndex</code>, <code>Number columnIndex</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-cellupdated">AbstractDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Fires when a cell is updated</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-datachanged">datachanged</a> : (<code>DataModel this</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-datachanged">AbstractDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Fires when the entire data structure has changed</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-load">load</a> : (<code>DataModel this</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#event-load">LoadableDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Fires when new data has successfully been loaded</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-loadexception">loadexception</a> : (<code>DataModel this</code>, <code>Exception e</code>, <code>Object response</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.LoadableDataModel.html#event-loadexception">LoadableDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Fires when there's an error loading data</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-rowsdeleted">rowsdeleted</a> : (<code>DataModel this</code>, <code>Number firstRowIndex</code>, <code>Number lastRowIndex</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsdeleted">AbstractDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Fires when a range of rows have been deleted</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-rowsinserted">rowsinserted</a> : (<code>DataModel this</code>, <code>Number firstRowIndex</code>, <code>Number lastRowIndex</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsinserted">AbstractDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Fires when a range of rows have been inserted</td>
</tr>
<tr class="alt">
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-rowssorted">rowssorted</a> : (<code>DataModel this</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowssorted">AbstractDataModel</a></td>
</tr>
<tr class="alt">
<td class="mdesc">Fires when the data has been sorted</td>
</tr>
<tr>
<td class="micon inherited" title="Inherited" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#event-rowsupdated">rowsupdated</a> : (<code>DataModel this</code>, <code>Number firstRowIndex</code>, <code>Number lastRowIndex</code>)</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsupdated">AbstractDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Fires when a range of rows have been updated</td>
</tr>
</table>
<h2 class="mdetail-head">Property Details</h2>
<div class="detail-wrap">
<a name="baseParams"></a>
<div class="mdetail">
<h3>baseParams</i></h3>
<code>public Object baseParams</code>
<div class="mdetail-desc">
An object of key/value pairs to be passed as parameters
when loading pages/sorting </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#baseParams">LoadableDataModel</a>.</div>
</div>
<a name="loadedPage"></a>
<div class="mdetail alt">
<h3>loadedPage</i></h3>
<code>public Number loadedPage</code>
<div class="mdetail-desc">
The active page </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#loadedPage">LoadableDataModel</a>.</div>
</div>
<a name="pageSize"></a>
<div class="mdetail">
<h3>pageSize</i></h3>
<code>public Number pageSize</code>
<div class="mdetail-desc">
The number of records per page </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#pageSize">LoadableDataModel</a>.</div>
</div>
<a name="pageUrl"></a>
<div class="mdetail alt">
<h3>pageUrl</i></h3>
<code>public String pageUrl</code>
<div class="mdetail-desc">
The script/page to call to provide paged/sorted data </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#pageUrl">LoadableDataModel</a>.</div>
</div>
<a name="paramMap"></a>
<div class="mdetail">
<h3>paramMap</i></h3>
<code>public Object paramMap</code>
<div class="mdetail-desc">
Maps named params to url parameters - Override to specify your own param names </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#paramMap">LoadableDataModel</a>.</div>
</div>
<a name="remoteSort"></a>
<div class="mdetail alt">
<h3>remoteSort</i></h3>
<code>public Boolean remoteSort</code>
<div class="mdetail-desc">
True to use remote sorting, initPaging automatically sets this to true </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#remoteSort">LoadableDataModel</a>.</div>
</div>
<a name="sortTypes&lt;static&gt;"></a>
<div class="mdetail">
<h3>sortTypes&lt;static&gt;</i></h3>
<code>public Object sortTypes&lt;static&gt;</code>
<div class="mdetail-desc">
&lt;static&gt; Alias to YAHOO.ext.grid.DefaultColumnModel.sortTypes </div>
<div class="mdetail-def">This property is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#sortTypes&lt;static&gt;">DefaultDataModel</a>.</div>
</div>
</div>
<a name="JSONDataModel"></a>
<h2 class="mdetail-head">Constructor Details</h2>
<div class="detail-wrap">
<div class="mdetail">
<h3>JSONDataModel</i></h3>
<code>public function JSONDataModel()</code>
<div class="mdetail-desc">
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
</div>
</div>
</div>
</div>
<h2 class="mdetail-head">Method Details</h2>
<div class="detail-wrap">
<a name="addListener"></a>
<div class="mdetail">
<h3>addListener</i></h3>
<code>public function addListener(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>boolean override</code>]</span>)</code>
<div class="mdetail-desc">
Appends an event handler to this element
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (this object) for the handler</div></li><li><code>override</code> : boolean<div class="sub-desc">(optional) If true, scope becomes the scope</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.util.Observable.html#addListener">Observable</a>.</div>
</div>
<a name="addPostprocessor"></a>
<div class="mdetail alt">
<h3>addPostprocessor</i></h3>
<code>public function addPostprocessor(<code>Number columnIndex</code>, <code>Function fn</code>)</code>
<div class="mdetail-desc">
Adds a postprocessor function to format data before updating the underlying data source (ie. convert date to string before updating XML document).
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li><li><code>fn</code> : Function<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#addPostprocessor">LoadableDataModel</a>.</div>
</div>
<a name="addPreprocessor"></a>
<div class="mdetail">
<h3>addPreprocessor</i></h3>
<code>public function addPreprocessor(<code>Number columnIndex</code>, <code>Function fn</code>)</code>
<div class="mdetail-desc">
Adds a preprocessor function to parse data before it is added to the Model - ie. Date.parse to parse dates.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li><li><code>fn</code> : Function<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#addPreprocessor">LoadableDataModel</a>.</div>
</div>
<a name="addRow"></a>
<div class="mdetail alt">
<h3>addRow</i></h3>
<code>public function addRow(<code>Array cellValues</code>)</code>
<div class="mdetail-desc">
Adds a row to the dataset.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>cellValues</code> : Array<div class="sub-desc">The array of values for the new row</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code><div class="sub-desc">The index of the added row</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#addRow">DefaultDataModel</a>.</div>
</div>
<a name="applySort"></a>
<div class="mdetail">
<h3>applySort</i></h3>
<code>public function applySort()</code>
<div class="mdetail-desc">
Applies the last used sort to the current data.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#applySort">DefaultDataModel</a>.</div>
</div>
<a name="delayedListener"></a>
<div class="mdetail alt">
<h3>delayedListener</i></h3>
<code>public function delayedListener(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>, <span class="optional" title="Optional">[<code>Number delay</code>]</span>)</code>
<div class="mdetail-desc">
Appends an event handler to this element that is delayed the specified number of milliseconds.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (this object) for the handler</div></li><li><code>delay</code> : Number<div class="sub-desc">(optional) The number of milliseconds to delay</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Function</code><div class="sub-desc">The wrapped function that was created (can be used to remove the listener)</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.util.Observable.html#delayedListener">Observable</a>.</div>
</div>
<a name="each"></a>
<div class="mdetail">
<h3>each</i></h3>
<code>public function each(<code>Function fn</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>)</code>
<div class="mdetail-desc">
Calls passed function with each rows data - if the function returns false it stops.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>fn</code> : Function<div class="sub-desc"></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional)</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#each">DefaultDataModel</a>.</div>
</div>
<a name="filter"></a>
<div class="mdetail alt">
<h3>filter</i></h3>
<code>public function filter(<code>Object query</code>)</code>
<div class="mdetail-desc">
Filter the DataModel rows by the query defined in spec, see <a href="#query">query</a> for more details
on the query spec.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>query</code> : Object<div class="sub-desc">The query spec <a href="#query">query</a></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code><div class="sub-desc">The number of rows removed</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#filter">DefaultDataModel</a>.</div>
</div>
<a name="fireEvent"></a>
<div class="mdetail">
<h3>fireEvent</i></h3>
<code>public function fireEvent(<code>String eventName</code>, <code>Object... args</code>)</code>
<div class="mdetail-desc">
Fires the specified event with the passed parameters (minus the event name).
<div class="mdetail-params">
<strong>Parameters:</strong>
<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>
<strong>Returns:</strong>
<ul>
<li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.util.Observable.html#fireEvent">Observable</a>.</div>
</div>
<a name="getPageSize"></a>
<div class="mdetail alt">
<h3>getPageSize</i></h3>
<code>public function getPageSize()</code>
<div class="mdetail-desc">
Returns the number of records per page
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#getPageSize">LoadableDataModel</a>.</div>
</div>
<a name="getPostprocessor"></a>
<div class="mdetail">
<h3>getPostprocessor</i></h3>
<code>public function getPostprocessor(<code>Number columnIndex</code>)</code>
<div class="mdetail-desc">
Gets the postprocessor function for the specified column.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Function</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#getPostprocessor">LoadableDataModel</a>.</div>
</div>
<a name="getPreprocessor"></a>
<div class="mdetail alt">
<h3>getPreprocessor</i></h3>
<code>public function getPreprocessor(<code>Number columnIndex</code>)</code>
<div class="mdetail-desc">
Gets the preprocessor function for the specified column.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Function</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#getPreprocessor">LoadableDataModel</a>.</div>
</div>
<a name="getRow"></a>
<div class="mdetail">
<h3>getRow</i></h3>
<code>public function getRow()</code>
<div class="mdetail-desc">
Returns the column data for the specified row.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Array</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#getRow">DefaultDataModel</a>.</div>
</div>
<a name="getRowCount"></a>
<div class="mdetail alt">
<h3>getRowCount</i></h3>
<code>public function getRowCount()</code>
<div class="mdetail-desc">
Returns the number of rows in the dataset
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#getRowCount">DefaultDataModel</a>.</div>
</div>
<a name="getRowId"></a>
<div class="mdetail">
<h3>getRowId</i></h3>
<code>public function getRowId(<code>Number rowIndex</code>)</code>
<div class="mdetail-desc">
Overrides getRowId in DefaultDataModel to return the ID value of the specified node.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>rowIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by JSONDataModel.</div>
</div>
<a name="getRows"></a>
<div class="mdetail alt">
<h3>getRows</i></h3>
<code>public function getRows(<code>Array indexes</code>)</code>
<div class="mdetail-desc">
Returns the column data for the specified rows as a
multi-dimensional array: rows[3][0] would give you the value of row 4, column 0.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>indexes</code> : Array<div class="sub-desc">The row indexes to fetch</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Array</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#getRows">DefaultDataModel</a>.</div>
</div>
<a name="getTotalPages"></a>
<div class="mdetail">
<h3>getTotalPages</i></h3>
<code>public function getTotalPages()</code>
<div class="mdetail-desc">
Returns the total number of pages available
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#getTotalPages">LoadableDataModel</a>.</div>
</div>
<a name="getTotalRowCount"></a>
<div class="mdetail alt">
<h3>getTotalRowCount</i></h3>
<code>public function getTotalRowCount()</code>
<div class="mdetail-desc">
Returns the total number of records available, override if needed
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#getTotalRowCount">LoadableDataModel</a>.</div>
</div>
<a name="getValueAt"></a>
<div class="mdetail">
<h3>getValueAt</i></h3>
<code>public function getValueAt(<code>Number rowIndex</code>, <code>Number colIndex</code>)</code>
<div class="mdetail-desc">
Returns the value at the specified data position
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>rowIndex</code> : Number<div class="sub-desc"></div></li><li><code>colIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Object</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#getValueAt">DefaultDataModel</a>.</div>
</div>
<a name="initPaging"></a>
<div class="mdetail alt">
<h3>initPaging</i></h3>
<code>public function initPaging(<code>String url</code>, <code>Number pageSize</code>, <span class="optional" title="Optional">[<code>Object baseParams</code>]</span>)</code>
<div class="mdetail-desc">
Initializes paging for this model.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>url</code> : String<div class="sub-desc"></div></li><li><code>pageSize</code> : Number<div class="sub-desc"></div></li><li><code>baseParams</code> : Object<div class="sub-desc">(optional) Object containing key/value pairs to add to all requests</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#initPaging">LoadableDataModel</a>.</div>
</div>
<a name="insertRow"></a>
<div class="mdetail">
<h3>insertRow</i></h3>
<code>public function insertRow(<code>Number index</code>, <code>Array cellValues</code>)</code>
<div class="mdetail-desc">
Inserts a row a the specified location in the dataset.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>index</code> : Number<div class="sub-desc">The index where the row should be inserted</div></li><li><code>cellValues</code> : Array<div class="sub-desc">The array of values for the new row</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code><div class="sub-desc">The index the row was inserted in</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#insertRow">DefaultDataModel</a>.</div>
</div>
<a name="isPaged"></a>
<div class="mdetail alt">
<h3>isPaged</i></h3>
<code>public function isPaged()</code>
<div class="mdetail-desc">
Returns true if this model uses paging
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Boolean</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#isPaged">LoadableDataModel</a>.</div>
</div>
<a name="load"></a>
<div class="mdetail">
<h3>load</i></h3>
<code>public function load(<code>Object/String url</code>, <span class="optional" title="Optional">[<code>String/Object params</code>]</span>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Number insertIndex</code>]</span>)</code>
<div class="mdetail-desc">
Initiates the loading of the data from the specified URL - Failed load attempts will
fire the <a href="#loadexception">loadexception</a> event.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>url</code> : Object/String<div class="sub-desc">The url from which the data can be loaded</div></li><li><code>params</code> : String/Object<div class="sub-desc">(optional) The parameters to pass as either a url encoded string "param1=1&amp;param2=2" or as an object {param1: 1, param2: 2}</div></li><li><code>callback</code> : Function<div class="sub-desc">(optional) Callback when load is complete - called with signature (this, rowCountLoaded)</div></li><li><code>insertIndex</code> : Number<div class="sub-desc">(optional) if present, loaded data is inserted at the specified index instead of overwriting existing data</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#load">LoadableDataModel</a>.</div>
</div>
<a name="loadData"></a>
<div class="mdetail alt">
<h3>loadData</i></h3>
<code>public function loadData(<code>Object data</code>, <code>Function callback</code>)</code>
<div class="mdetail-desc">
Overrides loadData in LoadableDataModel to process JSON data
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>data</code> : Object<div class="sub-desc">The JSON object to load</div></li><li><code>callback</code> : Function<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by JSONDataModel.</div>
</div>
<a name="loadPage"></a>
<div class="mdetail">
<h3>loadPage</i></h3>
<code>public function loadPage(<code>Number pageNum</code>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Boolean keepExisting</code>]</span>)</code>
<div class="mdetail-desc">
Loads a page of data.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>pageNum</code> : Number<div class="sub-desc">Which page to load. The first page is 1.</div></li><li><code>callback</code> : Function<div class="sub-desc">(optional) Optional callback when loading is complete</div></li><li><code>keepExisting</code> : Boolean<div class="sub-desc">(optional) true to keep existing data and append the new data</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#loadPage">LoadableDataModel</a>.</div>
</div>
<a name="purgeListeners"></a>
<div class="mdetail alt">
<h3>purgeListeners</i></h3>
<code>public function purgeListeners()</code>
<div class="mdetail-desc">
Removes all listeners for this object
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li>None.</li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.util.Observable.html#purgeListeners">Observable</a>.</div>
</div>
<a name="query"></a>
<div class="mdetail">
<h3>query</i></h3>
<code>public function query(<code>Object spec</code>, <code>Boolean returnUnmatched</code>)</code>
<div class="mdetail-desc">
Query the DataModel rows by the filters defined in spec, for example...
<pre><code>
// column 1 starts with Jack, column 2 filtered by myFcn, column 3 equals 'Fred'
dataModel.filter({1: /^Jack.+/i}, 2: myFcn, 3: 'Fred'});
</code></pre>
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>spec</code> : Object<div class="sub-desc">The spec is generally an object literal consisting of column index and filter type. The filter type can be a string/number (exact match), a regular expression to test using String.search() or a function to call. If it's a function, it will be called with the value for the specified column and an array of the all column values for that row: yourFcn(value, columnData). If it returns anything other than true, the row is not a match. If you have modified Object.prototype this method may fail.</div></li><li><code>returnUnmatched</code> : Boolean<div class="sub-desc">True to return rows which <b>don't</b> match the query instead of rows that do match</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Array</code><div class="sub-desc">An array of row indexes that match</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#query">DefaultDataModel</a>.</div>
</div>
<a name="removeListener"></a>
<div class="mdetail alt">
<h3>removeListener</i></h3>
<code>public function removeListener(<code>String eventName</code>, <code>Function handler</code>, <span class="optional" title="Optional">[<code>Object scope</code>]</span>)</code>
<div class="mdetail-desc">
Removes a listener
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The 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>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.util.Observable.html#removeListener">Observable</a>.</div>
</div>
<a name="removePostprocessor"></a>
<div class="mdetail">
<h3>removePostprocessor</i></h3>
<code>public function removePostprocessor(<code>Number columnIndex</code>)</code>
<div class="mdetail-desc">
Removes a postprocessor function.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#removePostprocessor">LoadableDataModel</a>.</div>
</div>
<a name="removePreprocessor"></a>
<div class="mdetail alt">
<h3>removePreprocessor</i></h3>
<code>public function removePreprocessor(<code>Number columnIndex</code>)</code>
<div class="mdetail-desc">
Removes a preprocessor function.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#removePreprocessor">LoadableDataModel</a>.</div>
</div>
<a name="removeRow"></a>
<div class="mdetail">
<h3>removeRow</i></h3>
<code>public function removeRow(<code>Number index</code>)</code>
<div class="mdetail-desc">
Remove a row.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>index</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#removeRow">DefaultDataModel</a>.</div>
</div>
<a name="setDefaultSort"></a>
<div class="mdetail alt">
<h3>setDefaultSort</i></h3>
<code>public function setDefaultSort(<code>Function/Object sortInfo</code>, <code>Number columnIndex</code>, <code>String direction</code>)</code>
<div class="mdetail-desc">
Sets the default sort info. Note: this function does not actually apply the sort.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>sortInfo</code> : Function/Object<div class="sub-desc">A sort comparison function or null to use the default or A object that has a method getSortType(index) that returns a function like a grid column model.</div></li><li><code>columnIndex</code> : Number<div class="sub-desc">The column index to sort by</div></li><li><code>direction</code> : String<div class="sub-desc">The direction of the sort ('DESC' or 'ASC')</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#setDefaultSort">DefaultDataModel</a>.</div>
</div>
<a name="setValueAt"></a>
<div class="mdetail">
<h3>setValueAt</i></h3>
<code>public function setValueAt(<code>Object value</code>, <code>Number rowIndex</code>, <code>Number colIndex</code>)</code>
<div class="mdetail-desc">
Sets the specified value at the specified data position
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>value</code> : Object<div class="sub-desc">The new value</div></li><li><code>rowIndex</code> : Number<div class="sub-desc"></div></li><li><code>colIndex</code> : Number<div class="sub-desc"></div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#setValueAt">DefaultDataModel</a>.</div>
</div>
<a name="sort"></a>
<div class="mdetail alt">
<h3>sort</i></h3>
<code>public function sort(<code>Function/Object sortInfo</code>, <code>Number columnIndex</code>, <code>String direction</code>)</code>
<div class="mdetail-desc">
Sorts the data by the specified column - Uses the sortType specified for the column in the passed columnModel.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>sortInfo</code> : Function/Object<div class="sub-desc">A sort comparison function or null to use the default or A object that has a method getSortType(index) that returns a function like a grid column model.</div></li><li><code>columnIndex</code> : Number<div class="sub-desc">The column index to sort by</div></li><li><code>direction</code> : String<div class="sub-desc">The direction of the sort ('DESC' or 'ASC')</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by <a href="YAHOO.ext.grid.DefaultDataModel.html#sort">DefaultDataModel</a>.</div>
</div>
</div>
<h2 class="mdetail-head">Event Details</h2>
<div class="detail-wrap">
<a name="event-beforeload"></a>
<div class="mdetail">
<h3>beforeload</i></h3>
<code>public event beforeload</code>
<div class="mdetail-desc">
Fires before a load takes place
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#event-beforeload">LoadableDataModel</a>.</div>
</div>
<a name="event-cellupdated"></a>
<div class="mdetail alt">
<h3>cellupdated</i></h3>
<code>public event cellupdated</code>
<div class="mdetail-desc">
Fires when a cell is updated
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li><li><code>rowIndex</code> : Number<div class="sub-desc"></div></li><li><code>columnIndex</code> : Number<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-cellupdated">AbstractDataModel</a>.</div>
</div>
<a name="event-datachanged"></a>
<div class="mdetail">
<h3>datachanged</i></h3>
<code>public event datachanged</code>
<div class="mdetail-desc">
Fires when the entire data structure has changed
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-datachanged">AbstractDataModel</a>.</div>
</div>
<a name="event-load"></a>
<div class="mdetail alt">
<h3>load</i></h3>
<code>public event load</code>
<div class="mdetail-desc">
Fires when new data has successfully been loaded
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#event-load">LoadableDataModel</a>.</div>
</div>
<a name="event-loadexception"></a>
<div class="mdetail">
<h3>loadexception</i></h3>
<code>public event loadexception</code>
<div class="mdetail-desc">
Fires when there's an error loading data
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li><li><code>e</code> : Exception<div class="sub-desc">The exception object or null</div></li><li><code>response</code> : Object<div class="sub-desc">The Connect response object</div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.LoadableDataModel.html#event-loadexception">LoadableDataModel</a>.</div>
</div>
<a name="event-rowsdeleted"></a>
<div class="mdetail alt">
<h3>rowsdeleted</i></h3>
<code>public event rowsdeleted</code>
<div class="mdetail-desc">
Fires when a range of rows have been deleted
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li><li><code>firstRowIndex</code> : Number<div class="sub-desc"></div></li><li><code>lastRowIndex</code> : Number<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsdeleted">AbstractDataModel</a>.</div>
</div>
<a name="event-rowsinserted"></a>
<div class="mdetail">
<h3>rowsinserted</i></h3>
<code>public event rowsinserted</code>
<div class="mdetail-desc">
Fires when a range of rows have been inserted
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li><li><code>firstRowIndex</code> : Number<div class="sub-desc"></div></li><li><code>lastRowIndex</code> : Number<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsinserted">AbstractDataModel</a>.</div>
</div>
<a name="event-rowssorted"></a>
<div class="mdetail alt">
<h3>rowssorted</i></h3>
<code>public event rowssorted</code>
<div class="mdetail-desc">
Fires when the data has been sorted
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowssorted">AbstractDataModel</a>.</div>
</div>
<a name="event-rowsupdated"></a>
<div class="mdetail">
<h3>rowsupdated</i></h3>
<code>public event rowsupdated</code>
<div class="mdetail-desc">
Fires when a range of rows have been updated
<div class="mdetail-params">
<strong style="font-weight:normal;">Subscribers will be called with the following parameters:</strong>
<ul><li><code>this</code> : DataModel<div class="sub-desc"></div></li><li><code>firstRowIndex</code> : Number<div class="sub-desc"></div></li><li><code>lastRowIndex</code> : Number<div class="sub-desc"></div></li> </ul>
</div>
</div>
<div class="mdetail-def">This event is defined by <a href="YAHOO.ext.grid.AbstractDataModel.html#event-rowsupdated">AbstractDataModel</a>.</div>
</div>
</div>
</div>
<hr>
Copyright &copy; 2006 Jack Slocum. All rights reserved.
</body>
</html>