2011-05-29 56 views
0

我試圖讓擴展它的項目渲染器,反正即使只是閃亮的新項目渲染帶給我作爲導致一個項目,其標籤是空白關於Flex 4.5星火DropDownLis槽的外觀變的簡單。 如果我刪除渲染一切都很好,但它 - 的項目是空白。的Flex DropDownList的ItemRenderer的可能是一個錯誤

<s:DropDownList id="cbX" x="140" y="281" width="276" itemRenderer="comboItemRenderer" labelField="@text"> 
    <mx:XMLListCollection> 
     <fx:XMLList> 
      <node text="1" /> 
      <node text="2" /> 
      <node text="3" /> 
     </fx:XMLList> 
    </mx:XMLListCollection> 
</s:DropDownList> 

項目渲染:

<?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:Label text="{data}"/> 

</s:ItemRenderer> 

它是一個錯誤,還是我做錯了?

回答

3

嘗試使用:

<?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:Label text="{label}"/> 

</s:ItemRenderer> 

渲染器中的數據仍然是數據。但是,如果您使用labelField,則依賴List的標籤計算例程。所以只需顯示它。

+0

對於在上帝的份,其中被寫入所有的thoose的事情。我覺得我是來自另一個星系:(正在添加非常感謝你。它做的伎倆,但我真的不知道如何瞭解數據theese關係... – 2011-05-29 17:40:10

+0

說實話'labelField'是這樣的不使用'label'渲染器是一樣的使用'數據使用自定義項目渲染器來顯示你的數據提供程序項目的一些領域。在你的情況。@ text'。所以,如果你渲染器是一樣的標準一個(如你的情況),只要用標準的默認渲染器。如果你打算使用一些先進的項目渲染器,你可以從列表中刪除'labelField'和使用'data'移動內部渲染所有的邏輯。 – Constantiner 2011-05-29 17:49:56

+0

酷了!:)再次感謝您:) – 2011-05-29 18:03:42