2010年6月30日 星期三

Flex_ArrayCollection

很快的又來到了星期二,要上第三堂Flex的時候。本來以為已經看過三本Flex的書,也寫過好多範例,初期的課程應該沒有什麼重點好聽的,沒想到!從第二堂課開始的建立類別檔,到昨天所上的各式內容都更紮深了以往似懂非懂的一些觀念。目前給這個課跟老師100分!

第三堂課程大致上圍繞在一個主題上,就是物件導向中的『繼承』,但是標題下的不太一樣?原因是講師除了說明這個觀念以外,還講了我覺得應該要記載下來的兩樣東西,為了日後找尋方便,只好把它拆開來講,不然寫個"第三堂筆記"可能對以後沒什麼幫助吧。XD

好!趕快進入主題:ArrayCollection

這一個類型,在之前自學時就常常運用到,可以把他想像成就是一個Array,但是這是一個可以存放物件(Object)的陣列,也就是我們在上一篇所建立的類別檔案,對於這個陣列就是存放在裡面的一格。若是我們建立一個書本的類別,將其存放在ArrayCollection內,就可以將ArrayCollection想成一個書櫃,存放在上面的書本可供我們放入、拿取、丟掉跟放到別格。

語法分別是:
新增:addItem()
取得:getItemAt()
移除:removeItemAt()
設定:setItemAt()

問題是,放進ArrayCollection的好處是什麼?為什麼要這樣做?
目前在各項專案裡面最常顯示資料的方式不外乎就是下拉選單跟表格形式元件(DataGrid),而我們建立類似像是"書本"的這種類別檔,或是說這種ValueObject都是為了讓程式處理資料時更為方便,在Flex裡面有提供一個與.NET中DataBinding相當類似的機制,只需要將放資料容器的dataProvider屬性設定好,即可連動的顯示資料。所以可以想像一個情況,new一個ArrayCollection,然後將某個容器的dataProvider設定給他,之後就只需要去操作ArrayCollection即可,對其新增網頁就會自動顯示多一筆,對其修改網頁就會自動顯示變更後的結果。

再更近一步,將給ArrayCollection的值都更改為類別檔,那麼我們就只需要利用類別檔裡面的各式方法,進行我們期望的動作,再一次存入ArrayCollection當中。


很不錯吧!乾淨俐落耶!

沒有留言:

張貼留言