91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過Flex組合框來過濾DataGrid

發布時間:2021-12-14 13:53:03 來源:億速云 閱讀:117 作者:小新 欄目:編程語言

小編給大家分享一下如何通過Flex組合框來過濾DataGrid,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

通過Flex組合框來過濾DataGrid

Flex中一個很普遍的應用就是用Flex組合框過濾顯示在DataGrid中的數據。在這個技巧里,目的是把一個“作者”數據庫表里的數據顯示到DataGrid里,表的結構如下:

CODE:

authorId:String;  authorName:String;  status:String;

◆另外,用戶可以選擇Flex組合框中包含的不同的作者狀態的值來過濾DataGrid顯示的作者信息。推薦你把從服務器請求獲得的結果轉換為ArrayCollection,然后把這個ArrayCollection作為DataGrid的dataProvider。這樣做你會發現操作和過濾顯示的數據會很變得容易。獲取數據超出了現在這個技巧的范圍,不過關于這個問題有很多的例子可以參考。

首先,把結果轉換為ArrayCollection。

CODE:

importmx.utils.ArrayUtil;   importmx.collections.ArrayCollection;   //event.resultcontainsthedatafromtheauthorssearch.   publicvarauthorsArray:Array=mx.utils.ArrayUtil.toArray(event.result);   //UseauthorsDataProviderasthedataProviderforthedataGrid.   [Bindable]   publicvarauthorsDataProvider:ArrayCollection=newArrayCollection(authorsArray);

◆接下來,把搜索結果中的作者狀態值動態加載到Flex組合框中。在這里,數據庫中可能的作家狀態值是"Active","Inactive"和"Deleted"。但是在進行之前,讓我們來回顧一下用例。我們把搜索作者得到的結果通過DataGrid視圖向用戶顯示出來,在看過之后,用戶可能希望過濾這些數據讓它只顯示“Active”的作者。當然,Flex組合框中的"Active","Inactive"和"Deleted"可以直接硬編碼,但是如果那樣做的話,當數據庫中添加了一個新的狀態值得時候我們必須修改程序。

而且,Flex組合框中的值應該只包含搜索結果中的作者狀態,如果搜索結果只包含狀態為"Active"和"Inactive"的作者,Flex組合框應該只包含相應的值(沒有”Delete”)。如果所有數據庫中可能的作者狀態值都在Flex組合框中硬編碼,用戶就可以選擇”Delete”這個值,然后就會看到一個沒有任何數據的DataGrid。我們不想困擾用戶,所以接下來的代碼會動態加載作者狀態值到一個數組,然后把這個數組作為Flex組合框的dataProvider。

CODE:

//UsetheauthorsStatusArrayasthedataProviderfortheCombox.   [Bindable]  publicvarauthorsStatusArray:Array=populateAuthorsStatusArray(authorsArray);   publicfunctionpopulateAuthorsStatusArray(authorsArray:Array):Array  {  varstatusArrayHashMap:Object=newObject();  varstatusArray:Array=newArray;   varn:int=authorsArray.length;  for(vari:int=0;i<n;i++)  {  if(statusArrayHashMap[authorsArray[i].status]==undefined)  {  statusArrayHashMap[authorsArray[i].status]=newObject();  statusArray.push(authorsArray[i].status);  }  }  statusArray.sort();  statusArray.unshift("All");   //The"All"valueisusedprogrammaticallytoun-filter(reset)theresultinthedataGrid.  returnstatusArray;  }

下面是mxml寫的代碼:
CODE:

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

這就是全部的技巧。因為DataGrid的dataProvider利用了綁定(binding),所以當用戶在Flex組合框中選中了一個值的時候,DataGrid會動態顯示過濾后的結果。請緊記,這只是一個小技巧而且可能有一些生澀的地方。但是你應該可以通過這些代碼領會這種思想。

以上是“如何通過Flex組合框來過濾DataGrid”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

包头市| 峡江县| 永丰县| 临澧县| 安丘市| 梓潼县| 鄂伦春自治旗| 商南县| 彝良县| 修水县| 鸡东县| 晋城| 微博| 江华| 长治市| 乐清市| 博湖县| 昆明市| 博爱县| 页游| 德安县| 黑河市| 长葛市| 祥云县| 琼中| 如皋市| 夏河县| 兴海县| 科技| 忻州市| 乐都县| 遂溪县| 云林县| 麦盖提县| 五峰| 城口县| 桑日县| 炉霍县| 安国市| 白河县| 西和县|