• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

带有复选框的Itemrenderer中的选择不正确

flex 来源:user1285835 5次浏览

我正在使用’Tilelist’和’HBOX’作为itemrenderer。在HBOX中我有复选框。带有复选框的Itemrenderer中的选择不正确

将arraycollection作为dataprovider传递给TileList(我的arraycollection长度为20)。在选择Tilelist中item1的复选框并滚动列表时,我可以看到随后的item从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> 


===========解决方案如下:

基本上你需要跟踪在dataProvider中的数据所选择的价值,这是由于该项目渲染器“回收”,意味着它们是重复使用应用的不同数据,以便跟踪给定行的实际选定值,需要将其附加到与该行关联的数据。您可以使用下面的示例中提供的名为ValueObjectWithSelected的类,通过将其分配给value属性来“包装”任何其他VO/DTO,选定的属性用于跟踪复选框选择,并且呈示器在复选框选中的值会更改。

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> 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)