This  might help:
http://www.adobe.com/devnet/flex/articles/daoflex.html


On 11/8/07, Alex Birch <[EMAIL PROTECTED]> wrote:
>
>
> The DataGrid is so amazing. I may be abusing it, yet I would like to
> display information to a user and let them update information. Ideally, I
> could call a Servlet on a Tomcat server.
>
> My question is how can I tell which DataRows have been updated by the
> user. My hackneyed approach has been to try and clone a version of the
> original data, then I was going to compare the data before calling a
> httpservice. Unfortunately I haven't found a nice deep copy method to copy
> an array.
>
> Any pointer to an example for updating an editable datagrid, then calling
> a servlet (I've found many with the RemoteObject.)
>
> Here is an example below.
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="absolute" initialize="initApp()">
>     <mx:Script>
>         <![CDATA[
>             import mx.rpc.events.ResultEvent;
>             import mx.collections.ICollectionView;
>         public var unmodifiedDataProvider:Object = null;
>         [Bindable]
>         private var modifiableDataProvider: mx.collections.ICollectionView= 
> null;
>
>         private function initApp():void{
>             this.statesHttpService.send();
>         }
>
>          private function stateModelResult(event:ResultEvent):void {
>                  try{
>                      modifiableDataProvider =
> event.result.Requests.Request;
>                      unmodifiedDataProvider = new Object();
>                  for (var i:int = 0; i < modifiableDataProvider.length ;
> i++)
>                    {
>                     unmodifiedDataProvider[i] =
> modifiableDataProvider[i].valueOf();
>                     //Any deep copy method would be immeasurably
> appreciated
>                    }
>                  }
>                  catch (err:Error)
>                  {
>                      unmodifiedDataProvider = null;
>                      modifiableDataProvider = null;
>                      this.updateLinkButton.enabled = false;
>
>                  }
>         }
>
>         private function updateInformation():void {
>           var object:Object;
>
>
>           for (var i:int = 0; i < modifiableDataProvider.length; i++)
>           {
>               object = modifiableDataProvider[i];
>           }
>       }
>         ]]>
>
>     </mx:Script>
>     <mx:HTTPService id="statesHttpService" method="get"  url="
> http://www.lifesabirch.org/target.xml";   result="stateModelResult(event)"
> />
>      <mx:LinkButton x="463" y="85" id="updateLinkButton" label="Update"
> click="updateInformation()"/>
>
>     <mx:DataGrid x="66" y="115" id="requestDataGrid"
> dataProvider="{modifiableDataProvider}" width="95%" height="95%"
> editable="true">
>    <mx:columns>
>         <mx:DataGridColumn dataField="RequestID" headerText="Order Number"
> editable="false" />
>         <mx:DataGridColumn dataField="Target" headerText="Target"
> itemEditor=" mx.controls.TextInput" editorDataField="text" editable="true"
> />
>         <mx:DataGridColumn dataField="Comments" headerText="Comments"
> itemEditor="mx.controls.TextInput " editorDataField="text" editable="true"
> />
>    </mx:columns>
>    </mx:DataGrid>
> </mx:Application>
>
>
> --
> ~~
> http://www.lifesabirch.org
> 
>

Reply via email to