2010-11-10 36 views
0

我有一個使用複選框itemrenderer的列表。數據提供者是一羣人。當我從一個文件加載數據時,每個列表項都顯示該人的姓名(last,first - labelFunction),複選框的選定屬性顯示該人的包含的屬性。即,Flex 3 - 列表 - 複選框itemrenderer啓用屬性

史密斯,道格 - [X] 威廉姆斯,鮑勃 - [] 莫里斯,ANNE - [X]

然而,每個人還具有活性屬性。我想爲不活動的人禁用複選框(意思是「你不能包含非活動人員」)。我已經嘗試了幾種方法來實現這個功能,其中包括http://forums.adobe.com/thread/416786這裏建議的在數據網格中做同樣的事情。但是,它們都不工作,並且無論該人的活動狀態如何,都啓用了所有複選框。這裏是我的基本代碼:

<mx:List id="peopleIncludedList" 
    dataProvider="{someProvider}" 
    labelFunction="peopleLabelFunction"> 
    <mx:itemRenderer> 
      <mx:Component> 
       <mx:CheckBox change="onChange(event)" 
        selected="{outerDocument.isIncluded(data)}"> 
        <mx:Script> 
         <![CDATA[ 

           private function onChange(e:Event):void 
           { 
            ... 
           } 
         ]]> 
        </mx:Script> 
       </mx:CheckBox> 
      </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 

任何幫助,將不勝感激。謝謝。

- 伊恩

回答

0

計算器以來,每天只通知我的新的答案,我不積極看着這個主題,並且更多地參與了Adobe的主板。無論如何,找到了解決辦法。在這裏引用它http://forums.adobe.com/message/3267367。感謝大家的建議和幫助!

0

我帶你去一個裂縫它,但有時很難說沒有樣本數據。

首先,不要引用添加outerDocument在arenderer,並且不使用綁定,而不是聽dataChange事件

<mx:List id="peopleIncludedList" 
    dataProvider="{someProvider}" 
    labelFunction="peopleLabelFunction"> 
    <mx:itemRenderer> 
      <mx:Component> 
       <mx:CheckBox change="onChange(event)" dataChange="onDataChange()"> 
        <mx:Script> 
         <![CDATA[ 

           private function onChange(e:Event):void 
           { 
            // not sure what this method is doing 
           } 
private function onDataChange():void{ 
this.selected = isIncluded(data); // whatever your processing is 
if(data.person.active == true){ 
    this.enabled = true; 
} else { 
    this.enabled = false; 
} 
} 
         ]]> 
        </mx:Script> 
       </mx:CheckBox> 
      </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 
+0

他不會因爲而逃脫,而不用擔心數據更改事件嗎?假設人和活動當然是可以綁定的... – 2010-11-11 13:31:29

+0

@Gregor Kiddie我不確定;我認爲他有兩個問題;檢查/取消選中CheckBox並啓用/禁用它。我猜他可以同時使用w/bindig假設它們與數據對象上的屬性相關。事實上,他正在爲選定的葉子調用一種方法,假定這種葉枯病。然而,綁定itemRenderer最終會導致問題。 – JeffryHouser 2010-11-11 14:44:16

+0

@Jeff。我當然會這樣做,但是有一些使用綁定的答案,有些位不會混淆我認爲的問題。例如,使用ClassFactory爲isIncluded(...)設置值將是更好的方法。這是更大的問題!嘗試和回答人們的問題,以便他們可以繼續,或教育他們如何更好地做到這一點... – 2010-11-11 15:11:21