PDA

View Full Version : How to load schema and ColumnModel from XML file.



yevgen
21 Feb 2007, 1:06 PM
At present I have:


var schema = {
tagName: 'Row',
fields: ['State_Name', 'Mailed', 'Predict', 'Percent', 'Early', 'InHome', 'Late']
};
dataModel = new YAHOO.ext.grid.XMLDataModel(schema);
var colModel = new YAHOO.ext.grid.DefaultColumnModel([
{header: "State Name", width: 90, sortable: false},
{header: "Mailed", width: 60, sortable: false},
{header: "Predict", width: 60, sortable: false},
{header: "Percent", width: 60, sortable: false},
{header: "Early", width: 60, sortable: false},
{header: "InHome", width: 60, sortable: false},
{header: "Late", width: 60, sortable: false}
]);

I can create XML file


<?xml version='1.0' encoding='UTF-8'?>
<Grid>
<schema>
<tagName>Row</tagName>
<fields>
<field>State_Name</field>
<field>Mailed</field>
<field>Predict</field>
<field>Percent</field>
<field>Early</field>
<field>InHome</field>
<field>Late</field>
</fields>
</schema>
<colModel>
<header>State Name</header>
<width>90</width>
<sortable>false</sortable>
<header>Mailed</header>
<width>60</width>
<sortable>false</sortable>
<header>Predict</header>
<width>60</width>
<sortable>false</sortable>
<header>Percent</header>
<width>60</width>
<sortable>false</sortable>
<header>Early</header>
<width>60</width>
<sortable>false</sortable>
<header>InHome</header>
<width>60</width>
<sortable>false</sortable>
<header>Late</header>
<width>60</width>
<sortable>false</sortable>
</colModel>
</Grid>

How can I replace above code with data gathered from XML file?

tryanDLS
21 Feb 2007, 1:34 PM
You need to load an XML dom object with the XML returned from the server. Then navigate that object to build the corresonding JS schema/colModel. I would suggest you look at XMLDataModel for guidance since it pretty much does everything - send request to server, load returned xml into a document, navigate thru it to get relevant data.