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

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站制作、河南網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、河南網(wǎng)絡(luò)營銷、河南企業(yè)策劃、河南品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供河南建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.chinadenli.net
通過Flex組合框來過濾DataGrid
Flex中一個很普遍的應(yīng)用就是用Flex組合框過濾顯示在DataGrid中的數(shù)據(jù)。在這個技巧里,目的是把一個“作者”數(shù)據(jù)庫表里的數(shù)據(jù)顯示到DataGrid里,表的結(jié)構(gòu)如下:
CODE:
authorId:String; authorName:String; status:String;
◆另外,用戶可以選擇Flex組合框中包含的不同的作者狀態(tài)的值來過濾DataGrid顯示的作者信息。推薦你把從服務(wù)器請求獲得的結(jié)果轉(zhuǎn)換為ArrayCollection,然后把這個ArrayCollection作為DataGrid的dataProvider。這樣做你會發(fā)現(xiàn)操作和過濾顯示的數(shù)據(jù)會很變得容易。獲取數(shù)據(jù)超出了現(xiàn)在這個技巧的范圍,不過關(guān)于這個問題有很多的例子可以參考。
首先,把結(jié)果轉(zhuǎn)換為ArrayCollection。
CODE:
importmx.utils.ArrayUtil; importmx.collections.ArrayCollection; //event.resultcontainsthedatafromtheauthorssearch. publicvarauthorsArray:Array=mx.utils.ArrayUtil.toArray(event.result); //UseauthorsDataProviderasthedataProviderforthedataGrid. [Bindable] publicvarauthorsDataProvider:ArrayCollection=newArrayCollection(authorsArray);
◆接下來,把搜索結(jié)果中的作者狀態(tài)值動態(tài)加載到Flex組合框中。在這里,數(shù)據(jù)庫中可能的作家狀態(tài)值是"Active","Inactive"和"Deleted"。但是在進行之前,讓我們來回顧一下用例。我們把搜索作者得到的結(jié)果通過DataGrid視圖向用戶顯示出來,在看過之后,用戶可能希望過濾這些數(shù)據(jù)讓它只顯示“Active”的作者。當然,F(xiàn)lex組合框中的"Active","Inactive"和"Deleted"可以直接硬編碼,但是如果那樣做的話,當數(shù)據(jù)庫中添加了一個新的狀態(tài)值得時候我們必須修改程序。
而且,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ù)庫中可能的作者狀態(tài)值都在Flex組合框中硬編碼,用戶就可以選擇”Delete”這個值,然后就會看到一個沒有任何數(shù)據(jù)的DataGrid。我們不想困擾用戶,所以接下來的代碼會動態(tài)加載作者狀態(tài)值到一個數(shù)組,然后把這個數(shù)組作為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會動態(tài)顯示過濾后的結(jié)果。請緊記,這只是一個小技巧而且可能有一些生澀的地方。但是你應(yīng)該可以通過這些代碼領(lǐng)會這種思想。
以上是“如何通過Flex組合框來過濾DataGrid”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁題目:如何通過Flex組合框來過濾DataGrid
標題路徑:http://www.chinadenli.net/article18/gpcpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、響應(yīng)式網(wǎng)站、ChatGPT、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)