成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 后端
本文向大家簡單介紹一下Flex數(shù)據(jù)綁定技巧,在使用Flex過程中有時(shí)需要編寫一些if語句或者使用數(shù)據(jù)綁定設(shè)定一個(gè)變量然后在代碼里不斷調(diào)整變量的值。

本文和大家重點(diǎn)討論一下Flex數(shù)據(jù)綁定技巧,假設(shè)你有一個(gè)DataGrid以及一些操作數(shù)據(jù)的按鈕,這些按鈕中有一些只能在選中某一行的時(shí)候才可以使用,這時(shí)你可能需要編寫一些if語句或者使用Flex數(shù)據(jù)綁定設(shè)定一個(gè)變量然后在代碼里不斷調(diào)整變量的值。

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

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

問題

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

程序代碼

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

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

程序代碼

  1. privatefunctionpublishItem():void{  
  2.  
  3. //gettheselecteditem  
  4.  
  5. //publishit  
  6.  
  7. grid.selectedItem=-1;//cleartheselection  
  8.  
  9. somethingSelected=false;  
  10.  
  11. }  

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

Flex數(shù)據(jù)綁定一種較簡單的方法

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

程序代碼

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

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

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

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

程序代碼

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

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

程序代碼

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

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

Flex數(shù)據(jù)綁定總結(jié)

在你的程序中如果有控件依賴于選中狀態(tài)或者其他UI的狀態(tài),可以嘗試使用<mx:Binding>標(biāo)簽,它可以使代碼干凈,同時(shí)也更容易閱讀和擴(kuò)展
 

【編輯推薦】

  1. Flex數(shù)據(jù)綁定中常見的誤用和錯(cuò)誤
  2. Flex2.0Beta1新功能出爐
  3. 技術(shù)分享 如何重寫Flex組件
  4. FlexBuilder3.0與Eclipse3.4的完美結(jié)合
  5. 剖析Flex DataGrid分頁控件的兩種分頁形式用法

 

 

責(zé)任編輯:佚名 來源: weblogs.macromedia.com
相關(guān)推薦

2010-07-30 09:08:21

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

2010-08-12 11:34:15

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

2010-07-28 13:31:10

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

2010-08-05 15:06:19

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

2010-07-28 13:40:44

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

2010-08-10 10:56:39

2010-07-30 10:45:08

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

2010-07-28 13:48:49

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

2010-07-30 09:16:24

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

2010-07-30 10:23:46

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

2010-08-12 11:05:33

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

2010-07-30 10:53:53

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

2010-07-28 13:54:42

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

2010-07-30 10:30:58

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

2009-12-23 15:16:52

WPF數(shù)據(jù)綁定

2010-08-13 14:19:44

Flex綁定機(jī)制

2010-08-06 10:15:35

Flex綁定

2010-07-27 13:13:33

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

2010-07-28 13:24:20

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

2010-07-30 09:28:09

Flex數(shù)據(jù)綁定
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久免费看 | 久久国产成人午夜av影院武则天 | 九九色九九 | 免费亚洲一区二区 | 亚洲第一成年免费网站 | 成人深夜小视频 | 日韩欧美大片在线观看 | 日韩视频在线观看中文字幕 | 日韩在线一区二区三区 | 黄频免费 | 国产欧美日韩一区二区三区在线 | 久久综合伊人 | 精品国产一级片 | 国产一二区视频 | 91在线播| 欧美精品一区二区三区蜜桃视频 | 国产精品地址 | 91国产精品 | 欧美三级在线 | 888久久久| 国产成人a亚洲精品 | 天堂中文av | 久久综合一区 | 久久久久久久久久久久久9999 | 黄色一级电影在线观看 | 日韩一区二区福利视频 | 99热这里有精品 | 日本成年免费网站 | 亚洲一区二区视频在线播放 | 亚洲综合无码一区二区 | 粉嫩av| 亚洲国产区 | 国产成人99久久亚洲综合精品 | 在线一区视频 | 久草网址 | 91伦理片 | 国产一区二区精品在线 | 日韩在线观看中文字幕 | 日韩在线中文字幕 | 日韩精品一区二区三区久久 | 国产精品久久久久久亚洲调教 |