您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Flex中數(shù)據(jù)綁定有多少種方式的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Flex數(shù)據(jù)綁定
Flex獲取數(shù)據(jù)的途徑有三種,分別為HTTPService、WebService、DataModule。以下介紹通過<mx:HTTPService>對象來獲取xml數(shù)據(jù),并綁定下拉列表或表格對象的實現(xiàn)方法。
一、Flex數(shù)據(jù)綁定DataGrid
1.先進入下述菜單新建一個flex工程:File->New->FlexApplication。此時將會出現(xiàn)向?qū)υ捒颉?/p>
選擇默認的數(shù)據(jù)訪問方式后,接下來需要在下面的窗口中設置工程名稱以及存儲路徑。設置完成后,點擊“Finish”按鈕。
2.建立工程后,在主窗口中將會顯示一個擴展名為*.mxml的頁面,并且該頁面的文件名與工程名相同。例如,在如下窗口中,開發(fā)人員可以在Source模式或Design模式下切換來對頁面進行編輯。
其中,Design模式為所見即所得設計方式,開發(fā)人員可以從左側(cè)的控件列表中選擇需要的對象拖入設計頁面中。如下圖所示,可選的可視化對象包含按鈕、復選框、標簽等常用對象。
3.選擇DataGrid對象,在設計模式下放入頁面中。該對象在默認情況下顯示為三列。
4.為頁面提供服務器端所產(chǎn)生的xml數(shù)據(jù)。
為了簡化實現(xiàn)難度,而又能夠闡明實現(xiàn)思路,此處提供數(shù)據(jù)的服務器端文件由一個本地文件所替代。
找到工程文件所在的目錄,建立一個能夠產(chǎn)生xml數(shù)據(jù)的網(wǎng)頁文件,該文件名稱可以任意指定,此處命名為dataSource.html。該文件包含的內(nèi)容如下:
<?xmlversionxmlversion="1.0"encoding="UTF-8"?> <root> <node> <name>蟋蟀</name> <address>廣東</address> </node> <node> <name>飄飄</name> <address>北京</address> </node> <node> <name>水月</name> <address>四川</address> </node> </root>
注意:在對上述文件進行保存時,需要將文件的編碼指定為UTF-8,從而與該文件包含的xml編碼格式保持一致。
5.接下來需要切換到頁面的代碼編輯模式中,加入一個<mx:HTTPService>對象,加入該對象的作用為載程序中可以獲取指定文件所產(chǎn)生的數(shù)據(jù)。由于該對象在組件面板中不顯示,因而需要手工方式錄入。需要修改的屬性為url的值,其余屬性默認即可。
6.Flex數(shù)據(jù)綁定對DataGrid對象的屬性進行修改。
ndataProvider屬性為數(shù)據(jù)源,其值為:dataProvider="{userRequest.lastResult.root.node}"
n數(shù)據(jù)列對象的dataField需要指定為xml數(shù)據(jù)中的字段名,可以為“name”或“address”。
nHeaderText屬性為列標題。
注意,userRequest.lastResult代表從數(shù)據(jù)源對象取得的數(shù)據(jù)集,userRequest.lastResult.root.node相當于xml數(shù)據(jù)中子節(jié)點的集合。
7.<mx:userRequest>對象不會主動發(fā)送請求,仍然需要在程序中來調(diào)用該對象的send()方法,從而實現(xiàn)一個http請求。
可以在<mx:Application>對象的creationComplete事件中來執(zhí)行userRequest對象的send請求。creationComplete事件相當于網(wǎng)頁中的onload事件。設置方法如下:
<mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"creationComplete="userRequest.send()">
運行工程文件后,將會彈出如下窗口。
二、Flex數(shù)據(jù)綁定ComboBox
當然可以利用ActionScript來遍歷數(shù)據(jù)的同時添加下拉列表的每一個選項。也可以采用綁定的策略。
1.設置數(shù)據(jù)源,方法為:
dataProvider="{userRequest.lastResult.root.node}"
2.其次,設置標簽字段labelField:
labelField="name"
3、剩下來需要找一個類似dataField的屬性,但好像沒有,我再找找。
4、事件:
creationComplete="userRequest.send()"
5、Flex數(shù)據(jù)綁定效果:
感謝各位的閱讀!關(guān)于“Flex中數(shù)據(jù)綁定有多少種方式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。