在Flex控制元件中使用XMLListCollection
現在,應用程式已經通過 HTTPService 取得了資料,並將資料儲存在了一個 XMLListCollection 中。而目前唯一能夠知道應用程式可以正常工作的方式是使用偵錯程式。在下面這個練習中,我們會在應用程式中通過一個水平的列表來顯示類別資料。
(1) 開啟 FlexGrocer.mxml 檔案。
如果你沒有完成上一課中的練習,或者你的程式碼工作不正常,可以從 Lesson06/intermediate 資料夾中匯入 FlexGrocer-PreList.fxp 專案。附錄為跳過了某一課或者無法解決程式碼中問題的讀者提供了匯入專案的完整說明。
(2) 在應用程式的 controlBarContent 區域中新增一個 <s:List> 控制元件。可以在現有的幾個按鈕後面新增這個控制元件。
<s:controlBarContent>
<s:Button id="btnCheckout" label="Checkout" right="10" y="10"/>
<s:Button id="btnCartView" label="View Cart" right="90" y="10" click.
State1="handleViewCartClick( event )"/>
<s:Button label="Flex Grocer" x="5" y="5"/>
<s:List>
</s:List>
</s:controlBarContent>
(3) 然後,指定這個 List 距控制條區域的左邊 200 畫素,高度為 40 畫素。
<s:List left="200" height="40">
</s:List>
(4) 指定這個 List 會使用 HorizontalLayout 。
<s:List left="200" height="40">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
</s:List>
前面我們對控制元件組使用了水平和垂直佈局,但 List 類也可以使用相同的物件來確定其子控制元件的排列方式。
(5) 接下來,將前面定義和填充的 categories 變數繫結到 List 例項的屬性 dataProvider 。
<s:List left="200" height="40" dataProvider="{categories}">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
</s:List>
這個語法告訴 Flex 框架,當發生 categories 屬性變化的事件時,列表需要從資料來源取得更新的資料,以便正確地響應。本書後面將經常用到 List 和 dataProvider 。
(6) 儲存並執行應用程式。
新建立的列表將橫跨在介面上方,其中的資料元素水平排列。然而,此時不僅顯示了類別名稱,還顯示了與類別相關的 XML 標籤。我們真正想要顯示的是 XML 的 <category> 節點包含的 <name/> 節點中的資料。
(7) 返回 FlexGrocer 應用程式,為列表新增一個名為 labelField 的屬性,將其值設定為 name 。
<s:List left="200" height="40" dataProvider="{categories}" labelField="name">
<s:layout>
<s:HorizontalLayout/>
</s:layout>
</s:List>
這裡的 labelField 屬性用於告訴列表將資料來源中的哪個欄位(屬性)作為列表項的標籤。
(8) 儲存並執行應用程式。
這樣,列表中只顯示了類別名稱,下一課還將用到這些資料。
相關文章
- flex:0 flex:1 flex:none flex:auto應該在什麼場景下使用?FlexNone
- Flutter 佈局控制元件篇-->Flex、ExpandedFlutter控制元件Flex
- 在WPF中使用WinForm控制元件方法ORM控制元件
- WPF中Ribbon控制元件的使用控制元件
- WPF中Popup控制元件的使用控制元件
- Flex明顯增長,Silverlight在中國雷聲大雨點小Flex
- Flutter第4天--基礎控制元件(下)+Flex佈局詳解Flutter控制元件Flex
- WPF中3D控制元件的使用3D控制元件
- 彈性盒模型中flex-grow 和flex的區別模型Flex
- display的flex屬性使用詳解Flex
- C#控制元件之Repeater控制元件使用C#控制元件
- 在WPF中使用Winform中自帶的畫圖控制元件Chart,模擬動態更新資料ORM控制元件
- css flex佈局中妙用margin: autoCSSFlex
- CSS 中的 Flex 佈局 完全指南CSSFlex
- 淺嘗flutter中的flex佈局FlutterFlex
- 深入理解 flex-grow、flex-shrink、flex-basisFlex
- flexFlex
- 使用flex實現三欄佈局,兩邊固定,中間自適應Flex
- 解決RecyclerView在ScrollView中會置頂它上面的控制元件View控制元件
- display:flex與inline-flex 區別Flexinline
- [譯] 在中國使用 FlutterFlutter
- AspectJ 在 Spring 中的使用Spring
- JSON在Python中的使用JSONPython
- Cordova在Android中的使用Android
- LiteDB在.NET中如何使用
- 在 Java 中如何使用 transientJava
- reload在python中的使用Python
- iota 在 Go 中的使用Go
- 淺談Flex佈局的屬性及使用Flex
- CSS flexCSSFlex
- flex相容Flex
- flex bisonFlex
- 重新總結flex佈局(flex,flex-direction,justify-content,align-items,flex-wrap,align-self)Flex
- 重新認識flex縮寫屬性—[flex]Flex
- sqlalchemy在python中的使用(基本使用)一SQLPython
- 在Qt中建立和使用自定義控制元件類時,可能會遇到以下一些常見問題QT控制元件
- lodop列印控制元件的使用控制元件
- ACCESS TreeView控制元件的使用View控制元件