您好,登錄后才能下訂單哦!
這篇文章主要介紹Flex數據綁定技巧有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Flex數據綁定技巧
有一種簡單的方法可以通過選中來激活/禁用控件。舉個例子,假設你有一個DataGrid以及一些操作數據的按鈕,這些按鈕中有一些只能在選中某一行的時候才可以使用,另外一些按鈕只能在沒有選中的時候使用,還有一些只能在選中特定行的時候使用。
問題
為了達到上述目的,你可能需要編寫一些if語句或者使用Flex數據綁定設定一個變量然后在代碼里不斷調整變量的值。就像這樣:
程序代碼
[Bindable]privatevarsomethingSelected:Boolean=false; <mx:Buttonlabelmx:Buttonlabel="Publish"click="publishItem()"enabled="{somethingSelected}"/>
這是個不錯的想法。所有依賴于DataGrid的選中狀態的控件都被綁定到了一個變量上。改變這個變量就改變了控件的活動狀態。然而,你仍然需要決定什么時候更改這個變量。例如:
程序代碼
privatefunctionpublishItem():void{ //gettheselecteditem //publishit grid.selectedItem=-1;//cleartheselection somethingSelected=false; }
讓我們把事情變得復雜一點,假設當選中的一行中里包含一個特殊的值有一個按鈕就會被激活。現在你就不只要注意變量somethingSelected了,還需要注意這個附加的檢驗。換句話說,在publishItem()函數里你還需要設定另外一個變量。有越多的條件限制這個函數就會越復雜。
一種較簡單的方法
這里有一種較簡單的方法。現在按鈕已經綁定到了somethingSelected變量,剩下的就是將somethingSelected變量綁定到DataGrid的狀態了。你可以使用<mx:Binding>標簽:
程序代碼
<mx:Bindingsourcemx:Bindingsource="grid.selectedIndex>=0"destination="somethingSelected"/>
現在somethingSelected的值綁定到了DataGrid的選定狀態上了。選中某行somethingSelected的值會變為true,然后所有標簽里有enabled="{somethingSelected}"的標簽都會被激活,所有標簽里有enabled="{!somethingSelected}"的按鈕都會被禁用。
◆Bingding標簽的source不一定必須是變量。它可以是一個表達式,如下面所示。這里source就是一個簡單的條件,判斷DataGrid的selectedIndex是否大于等于0。
這里是一個稍微有點復雜的例子:
程序代碼
<mx:Bindingsourcemx:Bindingsource="grid.selectedItem.code==1"destination="codeOnePicked"/>
如果DataGrid的某條記錄的某個域的值如果為1將會使變量codeOnePicked的值變為true。
程序代碼
<mx:CheckBoxlabelmx:CheckBoxlabel="CodeOne?"selected="{codeOnePicked}"/> <mx:Buttonlabelmx:Buttonlabel="Publish"enabled="{somethingSelected&&!codeOnePicked}"/>
在這里,只要DataGrid中被選擇的記錄code域為1,CheckBox就會被選中,同時按鈕就會被禁用。
以上是“Flex數據綁定技巧有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。