a14
08.12.2009, 17:30
Привет! Я заполняю AdvancedDataGrid данными из .XML файла с помощью HTTPService. Я могу редактировать данные в AdvancedDataGrid. Как сделать так, чтобы данные автоматически обновлялись в.XML-файле? Можно ли использовать для этого DataBinding? Или я должен буду обновлять .XML вручную, используя E4X?
Вот мой код, спасибо!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="salesRequest.send();">
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
public var salesDP:XMLListCollection;
private function salesResultHandler(event:ResultEvent):void{
salesDP = new XMLListCollection(event.result.transaction);
}
]]>
</mx:Script>
<mx:HTTPService id="salesRequest" useProxy="false" resultFormat="e4x"
result="salesResultHandler(event)" url="finance.xml"/>
<mx:AdvancedDataGrid width="100%" height="100%" editable="true">
<mx:dataProvider>
<mx:HierarchicalData source="{salesDP}"/>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="@id"
headerText="Category"/>
<mx:AdvancedDataGridColumn dataField="@sum"
headerText="Product"/>
<mx:AdvancedDataGridColumn dataField="@quantity"
headerText="In Stock"/>
<mx:AdvancedDataGridColumn dataField="@date"
headerText="On Order"/>
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>
Вот мой код, спасибо!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="salesRequest.send();">
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;
[Bindable]
public var salesDP:XMLListCollection;
private function salesResultHandler(event:ResultEvent):void{
salesDP = new XMLListCollection(event.result.transaction);
}
]]>
</mx:Script>
<mx:HTTPService id="salesRequest" useProxy="false" resultFormat="e4x"
result="salesResultHandler(event)" url="finance.xml"/>
<mx:AdvancedDataGrid width="100%" height="100%" editable="true">
<mx:dataProvider>
<mx:HierarchicalData source="{salesDP}"/>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn dataField="@id"
headerText="Category"/>
<mx:AdvancedDataGridColumn dataField="@sum"
headerText="Product"/>
<mx:AdvancedDataGridColumn dataField="@quantity"
headerText="In Stock"/>
<mx:AdvancedDataGridColumn dataField="@date"
headerText="On Order"/>
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>