Apr 10

接下来的例子演示了Flex中如何通过设置ArrayCollection数据提供源的sort属性为null并且用refresh()事件刷新数组数据集来重新设置DataGrid控件的排序。

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


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

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.collections.Sort;
  10.  
  11.             private function refreshSort():Boolean {
  12.                 arrColl.sort = null;
  13.                 return arrColl.refresh();
  14.             }
  15.         ]]>
  16.     </mx:Script>
  17.  
  18.     <mx:ArrayCollection id="arrColl">
  19.         <mx:source>
  20.             <mx:Array>
  21.                 <mx:Object en="One" fr="Un" es="Uno" />
  22.                 <mx:Object en="Two" fr="Deux" es="Dos" />
  23.                 <mx:Object en="Three" fr="Trois" es="Tres" />
  24.                 <mx:Object en="Four" fr="Quatre" es="Cuatro" />
  25.                 <mx:Object en="Five" fr="Cinq" es="Cinco" />
  26.                 <mx:Object en="Six" fr="Six" es="Seis" />
  27.                 <mx:Object en="Seven" fr="Sept" es="Siete" />
  28.                 <mx:Object en="Eight" fr="Huit" es="Ocho" />
  29.                 <mx:Object en="Nine" fr="Neuf" es="Nueve" />
  30.                 <mx:Object en="Ten" fr="Dix" es="Diez" />
  31.             </mx:Array>
  32.         </mx:source>
  33.     </mx:ArrayCollection>
  34.  
  35.     <mx:ApplicationControlBar dock="true">
  36.         <mx:Button label="Reset sort"
  37.                 click="refreshSort();" />
  38.     </mx:ApplicationControlBar>
  39.  
  40.     <mx:DataGrid id="dataGrid"
  41.             dataProvider="{arrColl}"
  42.             rowCount="6"
  43.             verticalScrollPolicy="on">
  44.         <mx:columns>
  45.             <mx:DataGridColumn dataField="en"
  46.                     headerText="English:" />
  47.             <mx:DataGridColumn dataField="fr"
  48.                     headerText="French:" />
  49.             <mx:DataGridColumn dataField="es"
  50.                     headerText="Spanish:" />
  51.         </mx:columns>
  52.     </mx:DataGrid>
  53.  
  54. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer

written by Minidxer  |  tags: , , , , ,

Related Post

2 Responses to “Flex中如何重新设置DataGrid控件的排序的例子”

Trackbacks

Leave a Reply