Flex中如何通过监听collectionChange事件检测DataGrid的数据源是否改变的例子

By Minidxer | June 6, 2009

接下来的例子演示了Flex中如何通过监听collectionChange事件,检测DataGrid的数据源是否改变。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application name="DataGrid_collectionChange_test"
  3.         xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         layout="vertical"
  5.         verticalAlign="middle"
  6.         backgroundColor="white"
  7.         initialize="init();">
  8.  
  9.     <mx:Script>
  10.         <![CDATA[
  11.             import mx.controls.Alert;
  12.             import mx.events.CollectionEvent;
  13.  
  14.             private function init():void {
  15.                 dataGrid.addEventListener(CollectionEvent.COLLECTION_CHANGE, dataGrid_collectionChange);
  16.             }
  17.  
  18.             private function btn_click(evt:MouseEvent):void {
  19.                 var fontArr:Array = Font.enumerateFonts(true);
  20.                 dataGrid.dataProvider = fontArr.sortOn("fontName");
  21.             }
  22.  
  23.             private function dataGrid_collectionChange(evt:CollectionEvent):void {
  24.                 Alert.show("The DataGrid control's data provider has changed.", evt.type);
  25.             }
  26.         ]]>
  27.     </mx:Script>
  28.  
  29.     <mx:ApplicationControlBar dock="true">
  30.         <mx:Button id="btn"
  31.                 label="Click me to set DataGrid data provider"
  32.                 click="btn_click(event);" />
  33.     </mx:ApplicationControlBar>
  34.  
  35.     <mx:DataGrid id="dataGrid"
  36.             width="400" />
  37.  
  38. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: DataGrid | No Comments » | 2,027 views Tags: , ,

Search Posts