自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flex Dataprovider和Data概念解析

開(kāi)發(fā) 后端
本文向大家介紹一下Flex Dataprovider和Data概念,如果將Flex Flex Dataprovider屬性設(shè)置為Array,則會(huì)將其轉(zhuǎn)換為ArrayCollection。

本文和大家重點(diǎn)討論一下Flex Dataprovider和Data聯(lián)系,要查看的數(shù)據(jù)集,F(xiàn)lex Dataprovider屬性允許您將大多數(shù)類型的對(duì)象用作數(shù)據(jù)提供程序。

Flex Dataprovider和Data概念

1、Flex Dataprovider

在AdobeActionScript3.0里面的定義如下:
要查看的數(shù)據(jù)集,此屬性允許您將大多數(shù)類型的對(duì)象用作數(shù)據(jù)提供程序。如果將Flex Flex Dataprovider屬性設(shè)置為Array,則會(huì)將其轉(zhuǎn)換為ArrayCollection。如果將該屬性設(shè)置為XML對(duì)象,則會(huì)將其轉(zhuǎn)換為僅包含一個(gè)項(xiàng)目的XMLListCollection。如果將該屬性設(shè)置為XMLList,則會(huì)將其轉(zhuǎn)換為XMLListCollection。如果將該屬性設(shè)置為實(shí)現(xiàn)IList或ICollectionView接口的對(duì)象,則可直接應(yīng)用此對(duì)象。受轉(zhuǎn)換操作的影響,在您獲取Flex Dataprovider屬性時(shí),該屬性值將始終為ICollectionView,所以此值不一定是您設(shè)置的對(duì)象類型。如果要修改數(shù)據(jù)提供程序中的數(shù)據(jù),則了解以下行為非常重要:可能不會(huì)檢測(cè)對(duì)原始數(shù)據(jù)所做的更改,但將檢測(cè)對(duì)從Flex Dataprovider屬性獲取的ICollectionView對(duì)象所做的更改。默認(rèn)值為null.此屬性可用作數(shù)據(jù)綁定的源。

◆上面那一大堆的東西其實(shí)就說(shuō)明以下幾點(diǎn):
a、凡是具有Flex Dataprovider的組件,都可以將Array、XML等內(nèi)容作為數(shù)據(jù)源。
b、將這些作為數(shù)據(jù)源的內(nèi)容“自動(dòng)”綁定并顯示在這些控件上面。
所以通常的做法,當(dāng)Flex獲取了外部數(shù)據(jù)后,可以將其直接賦值為Flex Dataprovider,然后通過(guò)一些設(shè)定,就可以在這些組件上面顯示數(shù)據(jù)了。
關(guān)于這個(gè)例子我就不在這里復(fù)述了,大家可以自行去找一下,或者直接看這里的內(nèi)容:http://livedocs.adobe.com/flex/3_cn/mx/controls/ComboBox.html#includeExamplesSummary

2、itemRenderer(項(xiàng)目渲染器)及其Data屬性。

itemRenderer的作用就是可以自定義一些組件的項(xiàng)目顯示效果,例如我們熟知的Combobox、List、DataGrid等都具有這樣的屬性,也就是說(shuō),我們可以利用itemRenderer來(lái)改善ComBoBox里面的下拉的顯示效果。當(dāng)然,List、DataGrid也是這樣的。
當(dāng)ComboBox中自定義了一個(gè)渲染器后,同時(shí)使用Flex Dataprovider的方式綁定了一個(gè)數(shù)據(jù)源,這個(gè)時(shí)候,如何與我們自定義的渲染器里面的item發(fā)生作用呢?就是使用data方式。
也就是說(shuō),F(xiàn)lex Dataprovider可以綁定數(shù)據(jù)到UI、如果這個(gè)組件使用了自定義渲染器,那么就可以使用data.XXX的方式獲取到Flex Dataprovider里面的數(shù)據(jù)。

okay,以上介紹的兩個(gè)知識(shí)點(diǎn)是關(guān)于Flex組件的數(shù)據(jù)處理能力,其中Flex Dataprovider可以把Array、XML等內(nèi)容作為數(shù)據(jù)源直接綁定并顯示到UI上面,而itemRenderer里面的data是實(shí)現(xiàn)組件與其渲染器之間的數(shù)據(jù)處理。

◆下一篇的內(nèi)容是關(guān)于Flex與后臺(tái)進(jìn)行通訊的常見(jiàn)的幾種方式:HTTPService、WebService、Remote等方式,而通過(guò)這幾種方式可以輕松的讓一些例如Java、C#、Python、Ruby、PHP等主流編程語(yǔ)言為Flex所服務(wù):)

附加:
關(guān)于Flex Dataprovider、itemRenderer、data的具體用法有些抽象,因此我特此列舉一個(gè)例子來(lái)說(shuō)明一下。
這是一個(gè)HorizontalList組件,而且其中它的itemRenderer=ToolBoxRenderer,想讓我們看一下HorizontalList的片段代碼:
 

  1. <mx:HorizontalListidmx:HorizontalListid="myHorizontalList"itemRenderer="ToolBoxRenderer"> 
  2. <mx:dataProvider> 
  3. <mx:Array> 
  4. <mx:Objecttooltipmx:Objecttooltip="rubber"styleName="rubber"language="{_language}"/> 
  5. </mx:Array> 
  6. </mx:dataProvider> 
  7. </mx:HorizontalList> 

 然后是ToolBoxRenderer的片段代碼:

  1. <mx:Canvaswidthmx:Canvaswidth="30"height="30"> 
  2. <mx:Button 
  3. width="30"height="30"  
  4. toolTip="{data.tooltip}" 
  5. styleName="{data.styleName}"/> 
  6. </mx:Canvas> 
  7.  

 ◆再讓我們看看itemRenderer是如何與我們今天這個(gè)主題聯(lián)系起來(lái)的。

1、在myHorizontalList中定義了一個(gè)Flex Dataprovider,通過(guò)代碼可以看出是一個(gè)Array類型的變量,然后將其賦值給Flex Dataprovider。這個(gè)時(shí)候,其實(shí)就應(yīng)該將數(shù)據(jù)顯示到myHorizontalList上面了,這也就是Flex Dataprovider的用處。
2、在Flex Dataprovider包含的Array中,定義如下的結(jié)構(gòu):<mx:Objecttooltip="rubber"styleName="rubber"language="{_language}"/>
3、我們不僅設(shè)定了Flex Dataprovider,還是同時(shí)設(shè)定了itemRenderer,即為T(mén)oolBoxRenderer。
4、在ToolBoxRenderer里面,定義了一個(gè)Button,同時(shí)我們使用類似于這樣的方式可以取得Flex Dataprovider里面的數(shù)據(jù):toolTip="{data.tooltip}"

以上就是一個(gè)非常簡(jiǎn)單,但是又非常典型的一個(gè)Flex Dataprovider、itemRenderer、data的用法,希望大家可以理解:)

【編輯推薦】

  1. 解析FlexSDK4的十大變化
  2. Flex ArrayCollection類用法詳解
  3. 在Flex中使用樣式的五大方法
  4. Flex Array和Flex ArrayCollection的用法和區(qū)別
  5. Flex ComboBox和Datagrid組件用法指導(dǎo)

 

責(zé)任編輯:佚名 來(lái)源: javaeye.com
相關(guān)推薦

2010-08-13 14:19:44

Flex綁定機(jī)制

2010-08-06 10:03:42

Flex事件

2010-08-04 15:12:54

Flex開(kāi)發(fā)

2010-07-29 09:18:25

JavaFXFlexSilverlight

2010-08-12 11:21:30

重寫(xiě)Flex組件

2010-07-27 10:58:46

Flex

2010-07-30 14:26:21

FlexFlash

2010-07-27 09:30:22

2010-07-28 13:40:44

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

2010-08-02 09:43:00

Flex應(yīng)用

2010-07-12 09:52:24

UML包圖

2010-07-12 13:39:10

UML對(duì)象圖

2010-08-12 13:59:37

FlexList控件

2010-08-05 11:07:18

重寫(xiě)Flex組件

2010-08-11 13:28:46

Flex行為

2010-08-04 14:34:35

Flex編程模型

2010-08-04 13:23:29

Flex事件

2010-08-09 11:14:36

Flex事件處理

2010-08-12 09:11:09

Flex彈出窗口

2010-08-06 09:18:14

Flex
點(diǎn)贊
收藏

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