我在我的空中應用程序的不同位置使用dropdownlist。 對於這些數據提供程序,始終是一個ArrayCollection,但一些有一個字段,如如何使用不同arraycollection字段的皮膚下拉列表
情況1
var collection:ArrayCollection = new ArrayCollection(["foo", "foo2", "foo3"]);
而且有時ArrayCollection中的填充與其它方法有幾個領域:
案例2
var collection:ArrayCollection = new ArrayCollection (
[{DESC:"foo", ID:"0"},
{DESC:"foo1", ID:"1"},
{DESC:"foo2",ID:"2"},
{DESC:"foo3", ID:"3"}
]
);
在這種情況下,labelField是Desc。
所以,我喜歡定製DDL,和創建一個皮膚itemrender用於標籤部分:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true">
<s:states>
<s:State name="normal"/>
<s:State name="hovered"/>
<s:State name="selected"/>
</s:states>
<s:Label text="{data}" backgroundColor.selected="#1B5790" color.selected="white"
backgroundColor.hovered="#E1DFD2" color.hovered="white" fontWeight.hovered="bold"
width="100%" height="25" paddingLeft="5" paddingTop="5" styleName="myLabelBlack" toolTip="{data}"/>
</s:ItemRenderer>
該方法與實施例1(arListBank),但顯示[對象物體]行之有效與殼體2。
所以我的目標是在這兩種情況下都有相同的itemrenderer。
你能幫我嗎?
感謝
當你提供了很多很好的信息在這裏;你忽略瞭解釋數據對象的結構。沒有這些信息,就不可能幫你寫一個itemRenderer。不管你如何填充dataProvider;它重要的是你實際試圖展示的數據。作爲參考點,我可能不會嘗試使用相同的itemRenderer來顯示兩組不同的數據。 – JeffryHouser 2012-02-15 23:39:50
+1的編輯,我相信讓你的帖子無限多的支持。 – JeffryHouser 2012-02-16 04:53:28