溫馨提示×

溫馨提示×

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

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

Flex數(shù)據(jù)綁定技巧有哪些

發(fā)布時(shí)間:2021-12-04 16:01:07 來源:億速云 閱讀:137 作者:小新 欄目:編程語言

這篇文章主要介紹Flex數(shù)據(jù)綁定技巧有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Flex數(shù)據(jù)綁定技巧

有一種簡單的方法可以通過選中來激活/禁用控件。舉個(gè)例子,假設(shè)你有一個(gè)DataGrid以及一些操作數(shù)據(jù)的按鈕,這些按鈕中有一些只能在選中某一行的時(shí)候才可以使用,另外一些按鈕只能在沒有選中的時(shí)候使用,還有一些只能在選中特定行的時(shí)候使用。

問題

為了達(dá)到上述目的,你可能需要編寫一些if語句或者使用Flex數(shù)據(jù)綁定設(shè)定一個(gè)變量然后在代碼里不斷調(diào)整變量的值。就像這樣:

程序代碼

[Bindable]privatevarsomethingSelected:Boolean=false;   <mx:Buttonlabelmx:Buttonlabel="Publish"click="publishItem()"enabled="{somethingSelected}"/>

這是個(gè)不錯(cuò)的想法。所有依賴于DataGrid的選中狀態(tài)的控件都被綁定到了一個(gè)變量上。改變這個(gè)變量就改變了控件的活動(dòng)狀態(tài)。然而,你仍然需要決定什么時(shí)候更改這個(gè)變量。例如:

程序代碼

privatefunctionpublishItem():void{   //gettheselecteditem   //publishit   grid.selectedItem=-1;//cleartheselection   somethingSelected=false;   }

讓我們把事情變得復(fù)雜一點(diǎn),假設(shè)當(dāng)選中的一行中里包含一個(gè)特殊的值有一個(gè)按鈕就會(huì)被激活?,F(xiàn)在你就不只要注意變量somethingSelected了,還需要注意這個(gè)附加的檢驗(yàn)。換句話說,在publishItem()函數(shù)里你還需要設(shè)定另外一個(gè)變量。有越多的條件限制這個(gè)函數(shù)就會(huì)越復(fù)雜。

一種較簡單的方法

這里有一種較簡單的方法?,F(xiàn)在按鈕已經(jīng)綁定到了somethingSelected變量,剩下的就是將somethingSelected變量綁定到DataGrid的狀態(tài)了。你可以使用<mx:Binding>標(biāo)簽:

程序代碼

<mx:Bindingsourcemx:Bindingsource="grid.selectedIndex>=0"destination="somethingSelected"/>

現(xiàn)在somethingSelected的值綁定到了DataGrid的選定狀態(tài)上了。選中某行somethingSelected的值會(huì)變?yōu)閠rue,然后所有標(biāo)簽里有enabled="{somethingSelected}"的標(biāo)簽都會(huì)被激活,所有標(biāo)簽里有enabled="{!somethingSelected}"的按鈕都會(huì)被禁用。

◆Bingding標(biāo)簽的source不一定必須是變量。它可以是一個(gè)表達(dá)式,如下面所示。這里source就是一個(gè)簡單的條件,判斷DataGrid的selectedIndex是否大于等于0。

這里是一個(gè)稍微有點(diǎn)復(fù)雜的例子:

程序代碼

<mx:Bindingsourcemx:Bindingsource="grid.selectedItem.code==1"destination="codeOnePicked"/>

如果DataGrid的某條記錄的某個(gè)域的值如果為1將會(huì)使變量codeOnePicked的值變?yōu)閠rue。

程序代碼

<mx:CheckBoxlabelmx:CheckBoxlabel="CodeOne?"selected="{codeOnePicked}"/>  <mx:Buttonlabelmx:Buttonlabel="Publish"enabled="{somethingSelected&&!codeOnePicked}"/>

在這里,只要DataGrid中被選擇的記錄code域?yàn)?,CheckBox就會(huì)被選中,同時(shí)按鈕就會(huì)被禁用。

以上是“Flex數(shù)據(jù)綁定技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI