close

ListView 與 ListBox 是兩個在 mobile 的世界中,主要用來顯示條列式資訊的元件,ListView 相對於 ListBox 來說,耗用的資源比較少,實際使用的狀況就反映在操作上,捲動的速度會比較流暢,缺點則是客製化的顯示沒有辦法那麼豐富(應該算追求顯示速度的代價吧..),這次先介紹的是 ListView

其實之前「讀取資料庫資料顯示在手機上」這部分的時候,已經用過 ListView 元件了,不過在這邊還是交代一些基本的屬性

首先先放一個 ListView 在 Form 上,並且將 Align 設定為 alClient,然後為了讓 ListView 有資料可以顯示,我們借用 TPrototypeBindSource 這個元件,這個元件的目的就如同其名,是在建立 Prototype 的程式時,為了看起來比較貼近真實的畫面,因此可以事先模擬資料庫的資料,建立在 TPrototypeBindSource 這個元件中,當然也可以透過 TPrototypeBindSource 本身提供的一些功能,就不用從頭到尾自己建立模擬資料(缺點就是只有英文的...),如果都完成的話,畫面應該像這樣

接下來在 PrototypeBindSource1 這個元件上用滑鼠左鍵點兩下,會開出如下視窗

這部分就是讓你建立需要模擬的欄位(數量與型態),在這邊我們只需要先建立一個 string 型態的模擬欄位即可,所以點選左上角的 後, Field Data 選擇產生 ContractTitles 的欄位,然後選擇 OK

完成之後回到 Form 的畫面,按下滑鼠右鍵選擇 Bind Visually,準備做資料繫結(Data Binding)

接下來把 PrototypeBindSource1 的 ContractTitle1 這個欄位跟 ListView1 的 Item.Text 欄位做資料繫結,都設定正確的話,你應該已經可以看到 ListView1 上已經顯示出資料,如下圖

ListView 中比較特別的屬性,以 ListView.ItemAppearanceObjects.ItemObjects.Accessory.AccessoryType 為代表,以下分別是選擇不同的屬性質,右邊的圖示就會有對應的改變

選擇 More (預設)

選擇 Checkmark

選擇 Detail

另外如果你想顯示的資料中包含圖片,那你也可以調整 Listview1.ItemAppearance.ItemAppearance 的屬性為 ImageListItem,然後先在 PrototypeBindSource1 建立一個模擬圖片的欄位,重新設定 DataBinding 如下

 

當然你也可以玩看看 Listview1.ItemAppearance.ItemAppearance 其他的設定值,各有不一樣的效果…

比賽結束...again

 

to be continued...

arrow
arrow
    創作者介紹
    創作者 縹緲 的頭像
    縹緲

    縹緲's blog

    縹緲 發表在 痞客邦 留言(2) 人氣()