Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 1.50 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. FLEX: Keeping selection in a DataGrid when the data changes
  2. <fx:Declarations>
  3.     <s:HTTPService id="myDataProvider" url="http://www.mysite.xxx/load.xml" useProxy="false" method="POST"></s:HTTPService>
  4. </fx:Declarations>
  5.  
  6. <fx:Script>
  7.     <![CDATA[
  8.         import mx.rpc.events.ResultEvent;
  9.  
  10.         protected function init():void
  11.         {              
  12.             myDataProvider.send();      
  13.         }
  14.  
  15.         protected function doSend():void
  16.         {  
  17.  
  18.             var myidx:int = new int(dgLobby.selectedIndex);
  19.             var myVertPos:int = new int(dgLobby.verticalScrollPosition);
  20.  
  21.  
  22.             myDataProvider.send();
  23.  
  24.  
  25.             dgLobby.selectedIndex = myidx;
  26.             dgLobby.verticalScrollPosition = myVertPos;
  27.  
  28.         }
  29.  
  30.     ]]>
  31. </fx:Script>
  32. <mx:DataGrid id="dgLobby" x="3" top="1" bottom="72" width="710" borderColor="#C2C2C2"
  33.             borderVisible="true" chromeColor="#BFBCBC" fontSize="11" fontWeight="normal"  
  34.             dataProvider="{myDataProvider.lastResult.users.user}">
  35.     <mx:columns>
  36.             <mx:DataGridColumn width="100" dataField="name" headerText="Name" resizable="true" sortable="true"></mx:DataGridColumn>
  37.             <mx:DataGridColumn width="100" dataField="email" headerText="Email" resizable="true" sortable="true"></mx:DataGridColumn>
  38.             <mx:DataGridColumn width="100" dataField="status" headerText="Status" resizable="true" sortable="true"></mx:DataGridColumn>
  39.     </mx:columns>
  40. </mx:DataGrid>
  41.  
  42.  
  43. <s:Button x="793" y="126" label="Refresh" click="doSend()"/>