webgui/www/extras/yui-ext/docs/output/YAHOO.ext.grid.XMLDataModel.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

1288 lines
No EOL
80 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.XMLDataModel</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.XMLDataModel.html" target="_blank">Print Friendly</a></div>
<h1>Class YAHOO.ext.grid.XMLDataModel</h1>
<table cellspacing="0">
<tr><td class="label">Package:</td><td>YAHOO.ext.grid</td></tr>
<tr><td class="label">Class:</td><td>XMLDataModel</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="XMLDataModel.js.html">XMLDataModel.js</a></td></tr>
</table>
<div class="description">
This is an implementation of a DataModel used by the Grid. It works
with XML data.
<br>Example schema from Amazon search:
<pre><code>
var schema = {
tagName: 'Item',
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="#XMLDataModel">XMLDataModel</a>(<code>Object schema</code>, <code>XMLDocument xml</code>)</td>
<td class="msource" rowspan="2">XMLDataModel</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" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#addRow">addRow</a>(<code>String id</code>, <code>Array cellValues</code>) : Number</td>
<td class="msource" rowspan="2">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Adds a row to this DataModel and syncs the XML document</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" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#createNode">createNode</a>(<code>XMLDocument xmlDoc</code>, <code>String/Number id</code>, <code>Array colData</code>) : XMLNode</td>
<td class="msource" rowspan="2">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Override this method to define your own node creation routine for when new rows are added.
By default this method clo...</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Appends an event handler to this element that is delayed the specified number of milliseconds.</td>
</tr>
<tr>
<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>
<td class="mdesc">Calls passed function with each rows data - if the function returns false it stops.</td>
</tr>
<tr class="alt">
<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 class="alt">
<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>
<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>
<td class="mdesc">Fires the specified event with the passed parameters (minus the event name).</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Returns the number of records per page</td>
</tr>
<tr>
<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>
<td class="mdesc">Gets the postprocessor 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="#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 class="alt">
<td class="mdesc">Gets the preprocessor 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="#getRow">getRow</a>() : Array</td>
<td class="msource" rowspan="2"><a href="YAHOO.ext.grid.DefaultDataModel.html#getRow">DefaultDataModel</a></td>
</tr>
<tr>
<td class="mdesc">Returns the column data for the specified row.</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Returns the number of rows in the dataset</td>
</tr>
<tr>
<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">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Overrides getRowId in DefaultDataModel to return the ID value of the specified node.</td>
</tr>
<tr class="alt">
<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 class="alt">
<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>
<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>
<td class="mdesc">Returns the total number of pages available</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Returns the total number of records available, override if needed</td>
</tr>
<tr>
<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>
<td class="mdesc">Returns the value at the specified data position</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Initializes paging for this model.</td>
</tr>
<tr>
<td class="micon" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#insertRow">insertRow</a>(<code>Number index</code>, <code>String id</code>, <code>Array cellValues</code>) : Number</td>
<td class="msource" rowspan="2">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Inserts a row into this DataModel and syncs the XML document</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Returns true if this model uses paging</td>
</tr>
<tr>
<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>
<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 class="alt">
<td class="micon" rowspan="2">&nbsp;</td>
<td class="sig"><a class="mlink" href="#loadData">loadData</a>(<code>XMLDocument doc</code>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Boolean keepExisting</code>]</span>, <span class="optional" title="Optional">[<code>Number insertIndex</code>]</span>) : void</td>
<td class="msource" rowspan="2">XMLDataModel</td>
</tr>
<tr class="alt">
<td class="mdesc">Overrides loadData in LoadableDataModel to process XML</td>
</tr>
<tr>
<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>
<td class="mdesc">Loads a page of data.</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Removes all listeners for this object</td>
</tr>
<tr>
<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>
<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 class="alt">
<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 class="alt">
<td class="mdesc">Removes a listener</td>
</tr>
<tr>
<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>
<td class="mdesc">Removes a postprocessor function.</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Removes a preprocessor function.</td>
</tr>
<tr>
<td class="micon" 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">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Removes the row from DataModel and syncs the XML document</td>
</tr>
<tr class="alt">
<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 class="alt">
<td class="mdesc">Sets the default sort info. Note: this function does not actually apply the sort.</td>
</tr>
<tr>
<td class="micon" 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">XMLDataModel</td>
</tr>
<tr>
<td class="mdesc">Overrides DefaultDataModel.setValueAt to update the underlying XML Document</td>
</tr>
<tr class="alt">
<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 class="alt">
<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="XMLDataModel"></a>
<h2 class="mdetail-head">Constructor Details</h2>
<div class="detail-wrap">
<div class="mdetail">
<h3>XMLDataModel</i></h3>
<code>public function XMLDataModel(<code>Object schema</code>, <code>XMLDocument xml</code>)</code>
<div class="mdetail-desc">
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>schema</code> : Object<div class="sub-desc">The schema to use</div></li><li><code>xml</code> : XMLDocument<div class="sub-desc">An XML document to load immediately</div></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>String id</code>, <code>Array cellValues</code>)</code>
<div class="mdetail-desc">
Adds a row to this DataModel and syncs the XML document
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>id</code> : String<div class="sub-desc">The id of the row, if null the next row index is used</div></li><li><code>cellValues</code> : Array<div class="sub-desc">The cell values for this row</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code><div class="sub-desc">The index of the new row (if the model is sorted this index may not be accurate)</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by XMLDataModel.</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="createNode"></a>
<div class="mdetail alt">
<h3>createNode</i></h3>
<code>public function createNode(<code>XMLDocument xmlDoc</code>, <code>String/Number id</code>, <code>Array colData</code>)</code>
<div class="mdetail-desc">
Override this method to define your own node creation routine for when new rows are added.
By default this method clones the first node and sets the column values in the newly cloned node.
In many instances this will not work and you will have to create the node manually.
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>xmlDoc</code> : XMLDocument<div class="sub-desc">The xml document being used by this model</div></li><li><code>id</code> : String/Number<div class="sub-desc">The row id</div></li><li><code>colData</code> : Array<div class="sub-desc">The column data for the new node</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>XMLNode</code><div class="sub-desc">The created node</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by XMLDataModel.</div>
</div>
<a name="delayedListener"></a>
<div class="mdetail">
<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 alt">
<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">
<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 alt">
<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">
<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 alt">
<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">
<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 alt">
<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">
<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 alt">
<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 XMLDataModel.</div>
</div>
<a name="getRows"></a>
<div class="mdetail">
<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 alt">
<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">
<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 alt">
<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">
<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 alt">
<h3>insertRow</i></h3>
<code>public function insertRow(<code>Number index</code>, <code>String id</code>, <code>Array cellValues</code>)</code>
<div class="mdetail-desc">
Inserts a row into this DataModel and syncs the XML document
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>index</code> : Number<div class="sub-desc">The index to insert the row</div></li><li><code>id</code> : String<div class="sub-desc">The id of the row, if null the next row index is used</div></li><li><code>cellValues</code> : Array<div class="sub-desc">The cell values for this row</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>Number</code><div class="sub-desc">The index of the new row (if the model is sorted this index may not be accurate)</div></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by XMLDataModel.</div>
</div>
<a name="isPaged"></a>
<div class="mdetail">
<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 alt">
<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">
<h3>loadData</i></h3>
<code>public function loadData(<code>XMLDocument doc</code>, <span class="optional" title="Optional">[<code>Function callback</code>]</span>, <span class="optional" title="Optional">[<code>Boolean keepExisting</code>]</span>, <span class="optional" title="Optional">[<code>Number insertIndex</code>]</span>)</code>
<div class="mdetail-desc">
Overrides loadData in LoadableDataModel to process XML
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>doc</code> : XMLDocument<div class="sub-desc">The document to load</div></li><li><code>callback</code> : Function<div class="sub-desc">(optional) callback to call when loading is complete</div></li><li><code>keepExisting</code> : Boolean<div class="sub-desc">(optional) true to keep existing data</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 XMLDataModel.</div>
</div>
<a name="loadPage"></a>
<div class="mdetail alt">
<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">
<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 alt">
<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">
<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 alt">
<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">
<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 alt">
<h3>removeRow</i></h3>
<code>public function removeRow(<code>Number index</code>)</code>
<div class="mdetail-desc">
Removes the row from DataModel and syncs the XML document
<div class="mdetail-params">
<strong>Parameters:</strong>
<ul><li><code>index</code> : Number<div class="sub-desc">The index of the row to remove</div></li> </ul>
<strong>Returns:</strong>
<ul>
<li><code>void</code></li>
</ul>
</div>
</div>
<div class="mdetail-def">This method is defined by XMLDataModel.</div>
</div>
<a name="setDefaultSort"></a>
<div class="mdetail">
<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 alt">
<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">
Overrides DefaultDataModel.setValueAt to update the underlying XML Document
<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 XMLDataModel.</div>
</div>
<a name="sort"></a>
<div class="mdetail">
<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>