<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    足跡
    面對它、接受它、處理它、放下它
    posts - 3,comments - 0,trackbacks - 0

    上一篇文章《Adobe Flex/AIR學習路線(Flex部分之數據篇一)》分析了Flex里面經常使用的一些數據類型、處理數據的一些常用的class等內容,今天我們簡述一下,Flex里面的哪些組件也具有數據處理能力。

    1、dataProvider
         在Adobe ActionScript 3.0里面的定義如下:
        要查看的數據集。此屬性允許您將大多數類型的對象用作數據提供程序。如果將 dataProvider屬性設置為 Array,則會將其轉換為 ArrayCollection。如果將該屬性設置為 XML對象,則會將其轉換為僅包含一個項目的 XMLListCollection。如果將該屬性設置為XMLList,則會將其轉換為 XMLListCollection。如果將該屬性設置為實現 IList 或 ICollectionView接口的對象,則可直接應用此對象。受轉換操作的影響,在您獲取 dataProvider屬性時,該屬性值將始終為 ICollectionView,所以此值不一定是您設置的對象類型。如果要修改數據提供程序中的數據,則了解以下行為非常重要:可能不會檢測對原始數據所做的更改,但將檢測對從 dataProvider屬性獲取的 ICollectionView 對象所做的更改。默認值為 null.此屬性可用作數據綁定的源。
        上面那一大堆的東西其實就說明以下幾點:
        a、凡是具有dataProvider的組件,都可以將Array、XML等內容作為數據源。
        b、將這些作為數據源的內容“自動”綁定并顯示在這些控件上面。
        所以通常的做法,當Flex獲取了外部數據后,可以將其直接賦值為dataProvider,然后通過一些設定,就可以在這些組件上面顯示數據了。
        關于這個例子我就不在這里復述了,大家可以自行去找一下,或者直接看這里的內容:http://livedocs.adobe.com/flex/3_cn/mx/controls/ComboBox.html#includeExamplesSummary

    2、itemRenderer項目渲染器)及其data屬性。
         itemRenderer的作用就是可以自定義一些組件的項目顯示效果,例如我們熟知的Combobox、List、DataGrid等都具有這樣的屬性,也就是說,我們可以利用itemRenderer來改善ComBoBox里面的下拉的顯示效果。當然,List、DataGrid也是這樣的。
         當ComboBox中自定義了一個渲染器后,同時使用dataProvider的方式綁定了一個數據源,這個時候,如何與我們自定義的渲染器里面的item發生作用呢?就是使用data方式。
         也就是說,dataProvider可以綁定數據到UI、如果這個組件使用了自定義渲染器,那么就可以使用data.XXX的方式獲取到dataProvider里面的數據。

    okay,以上介紹的兩個知識點是關于Flex組件的數據處理能力,其中dataProvider可以把Array、XML等內容作為數據源直接綁定并顯示到UI上面,而itemRenderer里面的data是實現組件與其渲染器之間的數據處理。

    下一篇的內容是關于Flex與后臺進行通訊的常見的幾種方式:HTTPService、WebService、Remote等方式,而通過這幾種方式可以輕松的讓一些例如Java、C#、Python、Ruby、PHP等主流編程語言為Flex所服務:)

    附加:
    關于dataProvideritemRendererdata的具體用法有些抽象,因此我特此列舉一個例子來說明一下。
    這是一個HorizontalList組件,而且其中它的itemRenderer=ToolBoxRenderer,想讓我們看一下HorizontalList的片段代碼:
    <mx:HorizontalList id="myHorizontalList" itemRenderer="ToolBoxRenderer">
             <mx:dataProvider>
                 <mx:Array>
                       <mx:Object tooltip= "rubber" styleName="rubber" language="{ _language }"/>
                 </mx:Array>
             </mx:dataProvider>
    </mx:HorizontalList> 

    然后是ToolBoxRenderer的片段代碼:

    <mx:Canvas width="30" height="30">
             <mx:Button
                width="30" height="30" 
                toolTip="{ data.tooltip }" 
                styleName="{ data.styleName }"/>
    </mx:Canvas>

    再讓我們看看itemRenderer是如何與我們今天這個主題聯系起來的。
    1、在myHorizontalList中定義了一個dataProvider,通過代碼可以看出是一個Array類型的變量,然后將其賦值給dataProvider。這個時候,其實就應該將數據顯示到myHorizontalList上面了,這也就是dataProvider的用處。
    2、在dataProvider包含的Array中,定義如下的結構:<mx:Object tooltip= "rubber" styleName="rubber" language="{ _language }"/>
    3、我們不僅設定了dataProvider,還是同時設定了itemRenderer,即為ToolBoxRenderer。
    4、在ToolBoxRenderer里面,定義了一個Button,同時我們使用類似于這樣的方式可以取得
    以上就是一個非常簡單,但是又非常典型的一個
    dataProvideritemRendererdata的用法,希望大家可以理解:)

    posted on 2010-02-01 20:37 john locke 閱讀(140) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费播放春色aⅴ视频| 希望影院高清免费观看视频| 日韩免费视频一区| 亚洲宅男精品一区在线观看| 全免费毛片在线播放| 亚洲最大在线观看| 扒开双腿猛进入爽爽免费视频| 亚洲AV无码一区二区三区人| 成年女人毛片免费视频| 亚洲国产精品精华液| 免费一级做a爰片久久毛片潮喷| 免费国产va在线观看| 国产亚洲人成网站在线观看| 黄网站免费在线观看| 亚洲天堂电影在线观看| 一二三四影视在线看片免费 | 一级毛片a免费播放王色| 在线亚洲午夜理论AV大片| 国产三级在线免费| 亚洲成人午夜电影| 日韩一级免费视频| 国产裸体美女永久免费无遮挡| 亚洲va久久久噜噜噜久久狠狠| 国产91色综合久久免费分享| 亚洲精品无码你懂的| 国产亚洲精品精品国产亚洲综合| 人妻免费一区二区三区最新| 亚洲免费在线视频观看| 国产jizzjizz视频全部免费| 一个人免费视频在线观看www | 国产乱子伦片免费观看中字| 国产免费高清69式视频在线观看| 久久久久亚洲精品无码蜜桃| 女人18毛片水真多免费看| 国产精品内射视频免费| 亚洲日韩在线视频| 2022中文字字幕久亚洲| 免费专区丝袜脚调教视频| 免费国产黄网站在线观看动图| 亚洲AV第一页国产精品| 国产福利免费在线观看|