2012-03-22 4 views
0

itemrendererとして 'Tilelist'と 'HBOX'を使用しています。 HBOXでは私はチェックボックスを持っています。Itemrendererでのチェックが間違っています

arraycollectionをdataproviderとしてTileListに渡します(配列の配列長は20です)。 Tilelistのitem1のチェックボックスを選択してリストをスクロールすると、item1の次の項目が選択されています。ブログでは、チェックボックスを使用しているときにフレックスキャッシュの問題があることがわかりました。

これに関する助けが必要です。

ありがとうございます。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="0" xmlns:local="*" height="500" > 
    <mx:Script> 
    <![CDATA[ 
     private var arr:Array = [ 
      { firstName: "Alex", lastName: "Harui" }, 
      { firstName: "Gordon", lastName: "Smith" }, 
      { firstName: "Deepa", lastName: "Subramanian" }, 
      { firstName: "Matt", lastName: "Chotin" }, 
      { firstName: "Ely", lastName: "Greenfield" }, 
      { firstName: "Kevin", lastName: "Lynch" }, 
      { firstName: "Shantanu", lastName: "Narayan" }, 
      { firstName: "Joan", lastName: "Lafferty" }, 
      { firstName: "Ryan", lastName: "Frishberg" }, 

     ]; 

    ]]> 
    </mx:Script> 
    <mx:TileList id="list" initialize="list.dataProvider=arr" labelField="lastName" maxColumns="1" itemRenderer="Checkrenderer" 
       allowMultipleSelection="true" > 

    </mx:TileList> 
</mx:Application> 

Checkrenderのhbox:

<?xml version="1.0" encoding="utf-8"?> 
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="138" height="300" xmlns:local="*"> 
<mx:CheckBox id="checkbx"/> 
</mx:Box> 
</mx:HBox> 
+1

を、あなたはアイテムレンダラーを使用していますか?コードを投稿できますか? –

+0

= "true" を \t user1285835

+0

Checkrendererコード: \t \t \t \t \t \t <ローカル:CheckBoxRenderer ID = "checkbx" /> \t – user1285835

答えて

0

基本的にあなたがdataProvider内のデータに選択された値を追跡する必要があり、これは、彼らがある意味アイテムレンダラーが「リサイクル」しているという事実によるものです与えられた行に対して実際に選択された値を追跡するために、行に関連付けられたデータに付加する必要があります。 ValueObjectWithSelectedという次の例で提供するクラスを使用して、他のVO/DTOをvalueプロパティに割り当てることで「ラップ」し、選択したプロパティを使用してチェックボックスの選択を追跡し、レンダラーがチェックボックスの選択値が変更されます。

http://www.shaunhusain.com/CheckboxList/

http://www.shaunhusain.com/CheckboxList/srcview/

あなたの特別な場合修正するには:

<?xml version="1.0" encoding="utf-8"?> 
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="138" height="300" xmlns:local="*"> 
    <mx:CheckBox id="checkbx" label="{data.firstName}" change="{data.selected = checkbx.selected}" selected="{data.selected}"/> 
</mx:HBox> 
関連する問題