偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

通過Flex組合框(ComboBox)來(lái)過濾DataGrid

開發(fā) 后端
本文向大家介紹一下如何使用Flex組合框來(lái)過濾DataGrid,F(xiàn)lex中一個(gè)很普遍的應(yīng)用就是用Flex組合框過濾顯示在DataGrid中的數(shù)據(jù)。

在學(xué)習(xí)Flex的過程中,你可能會(huì)遇到Flex組合框的使用,這里和大家分享一下通過Flex組合框來(lái)過濾DataGrid,相信本文介紹一定會(huì)讓你有所收獲。

通過Flex組合框來(lái)過濾DataGrid

Flex中一個(gè)很普遍的應(yīng)用就是用Flex組合框過濾顯示在DataGrid中的數(shù)據(jù)。在這個(gè)技巧里,目的是把一個(gè)“作者”數(shù)據(jù)庫(kù)表里的數(shù)據(jù)顯示到DataGrid里,表的結(jié)構(gòu)如下:

CODE:
 

  1. authorId:String;  
  2. authorName:String;  
  3. status:String; 

◆另外,用戶可以選擇Flex組合框中包含的不同的作者狀態(tài)的值來(lái)過濾DataGrid顯示的作者信息。推薦你把從服務(wù)器請(qǐng)求獲得的結(jié)果轉(zhuǎn)換為ArrayCollection,然后把這個(gè)ArrayCollection作為DataGrid的dataProvider。這樣做你會(huì)發(fā)現(xiàn)操作和過濾顯示的數(shù)據(jù)會(huì)很變得容易。獲取數(shù)據(jù)超出了現(xiàn)在這個(gè)技巧的范圍,不過關(guān)于這個(gè)問題有很多的例子可以參考。

首先,把結(jié)果轉(zhuǎn)換為ArrayCollection。

CODE:
 

  1. importmx.utils.ArrayUtil;  
  2.  
  3. importmx.collections.ArrayCollection;  
  4.  
  5. //event.resultcontainsthedatafromtheauthorssearch.  
  6.  
  7. publicvarauthorsArray:Array=mx.utils.ArrayUtil.toArray(event.result);  
  8.  
  9. //UseauthorsDataProviderasthedataProviderforthedataGrid.  
  10.  
  11. [Bindable]  
  12.  
  13. publicvarauthorsDataProvider:ArrayCollection=newArrayCollection(authorsArray);  
  14.  

 ◆接下來(lái),把搜索結(jié)果中的作者狀態(tài)值動(dòng)態(tài)加載到Flex組合框中。在這里,數(shù)據(jù)庫(kù)中可能的作家狀態(tài)值是"Active","Inactive"和"Deleted"。但是在進(jìn)行之前,讓我們來(lái)回顧一下用例。我們把搜索作者得到的結(jié)果通過DataGrid視圖向用戶顯示出來(lái),在看過之后,用戶可能希望過濾這些數(shù)據(jù)讓它只顯示“Active”的作者。當(dāng)然,F(xiàn)lex組合框中的"Active","Inactive"和"Deleted"可以直接硬編碼,但是如果那樣做的話,當(dāng)數(shù)據(jù)庫(kù)中添加了一個(gè)新的狀態(tài)值得時(shí)候我們必須修改程序。

而且,F(xiàn)lex組合框中的值應(yīng)該只包含搜索結(jié)果中的作者狀態(tài),如果搜索結(jié)果只包含狀態(tài)為"Active"和"Inactive"的作者,F(xiàn)lex組合框應(yīng)該只包含相應(yīng)的值(沒有”Delete”)。如果所有數(shù)據(jù)庫(kù)中可能的作者狀態(tài)值都在Flex組合框中硬編碼,用戶就可以選擇”Delete”這個(gè)值,然后就會(huì)看到一個(gè)沒有任何數(shù)據(jù)的DataGrid。我們不想困擾用戶,所以接下來(lái)的代碼會(huì)動(dòng)態(tài)加載作者狀態(tài)值到一個(gè)數(shù)組,然后把這個(gè)數(shù)組作為Flex組合框的dataProvider。

CODE:
 

  1. //UsetheauthorsStatusArrayasthedataProviderfortheCombox.  
  2.  
  3. [Bindable]  
  4. publicvarauthorsStatusArray:Array=populateAuthorsStatusArray(authorsArray);  
  5.  
  6. publicfunctionpopulateAuthorsStatusArray(authorsArray:Array):Array  
  7. {  
  8. varstatusArrayHashMap:Object=newObject();  
  9. varstatusArray:Array=newArray;  
  10.  
  11. varn:int=authorsArray.length;  
  12. for(vari:int=0;i<n;i++)  
  13. {  
  14. if(statusArrayHashMap[authorsArray[i].status]==undefined)  
  15. {  
  16. statusArrayHashMap[authorsArray[i].status]=newObject();  
  17. statusArray.push(authorsArray[i].status);  
  18. }  
  19. }  
  20. statusArray.sort();  
  21. statusArray.unshift("All");  
  22.  
  23. //The"All"valueisusedprogrammaticallytoun-filter(reset)theresultinthedataGrid.  
  24. returnstatusArray;  
  25. }  
  26.  

 下面是mxml寫的代碼:
CODE: 

  1. <mx:Comboxidmx:Comboxid="cboAuthorsStatusFilter" 
  2. dataProvider="{authorsStatusArray}" 
  3. change="filterAuthorsGrid();"/> 

這就是全部的技巧。因?yàn)镈ataGrid的dataProvider利用了綁定(binding),所以當(dāng)用戶在Flex組合框中選中了一個(gè)值的時(shí)候,DataGrid會(huì)動(dòng)態(tài)顯示過濾后的結(jié)果。請(qǐng)緊記,這只是一個(gè)小技巧而且可能有一些生澀的地方。但是你應(yīng)該可以通過這些代碼領(lǐng)會(huì)這種思想。

【編輯推薦】

  1. 探秘Flex與JavaScript交互
  2. 常用FlexBuilder快捷鍵用法指導(dǎo)
  3. Flex框架Riawave的定制應(yīng)用
  4. 技術(shù)前沿 Flex2.0 從零開始實(shí)現(xiàn)文件上傳
  5. FlexBuilder開發(fā)方法及特點(diǎn)解析 

 

責(zé)任編輯:佚名 來(lái)源: it168.com
相關(guān)推薦

2010-07-27 13:53:15

Flex ComboB

2010-08-11 16:10:27

Flex DataGr

2010-08-11 16:03:02

Flex DataGr

2010-08-06 14:13:31

FlexDataGrid分頁(yè)控

2010-07-27 14:00:53

Flex ComboB

2009-09-16 10:53:50

Flex界面

2010-08-11 16:30:49

Flex DataGr

2009-09-18 19:14:29

Hook機(jī)制

2010-07-28 09:29:36

Flex DataGr

2010-08-11 16:41:30

Flex DataGr

2010-08-11 15:35:47

Flex DataGr

2010-08-11 15:51:45

Flex DataGr

2009-08-07 18:04:22

ASP.NET Dat確認(rèn)對(duì)話框

2009-11-13 10:51:20

Visual Stud

2010-07-29 11:12:30

Flex日期格式化

2023-10-09 08:33:50

過濾和排序分布式搜索

2009-07-03 08:58:22

Flex教程Flex程序

2010-08-05 13:27:06

Flex布局

2010-07-27 15:36:15

Flex swf

2010-07-27 13:46:18

Flex swf
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)