2010-07-23 55 views
0

我使用Flex 3的高级的DataGrid与分层数据 和单选按钮的问题也是我加入平铺列表中在平铺列表我加入单选按钮作为项目渲染 另一列 一个项目渲染器,如果我改变无线电所选值的分层树扩大前人的精力如果 滚动条会来的单选按钮的值正在改变柔性advanceDatagrid与

<mx:AdvancedDataGrid contextMenu="{cm}" backgroundAlpha="0" styleName="TreeUser" dataProvider="{modelInstance._treeUserXml}" 
id="treeAdg" width="100%" height="100%" showHeaders="false" doubleClick="treeDoubleClick(event)" doubleClickEnabled="true" 
displayItemsExpanded="false" click="onItemClick(event)" borderStyle="none" rowHeight="25"> 
<mx:columns> 
    <mx:AdvancedDataGridColumn dataField="name"/> 
    <mx:AdvancedDataGridColumn id="treeItem" itemRenderer="com.Frontend.views.TreeUser.TreeStructureTileList"/> 
</mx:columns> 

这是高级数据网格添加阶层数据作为数据提供者

<containers:TileListEx id="tileList" width="100%" height="100%" textAlign="left" 
    horizontalScrollPolicy="off" verticalScrollPolicy="off" direction="horizontal" 
    dataProvider="{data.driver}" itemClick="tileItemClick(event)" 
    backgroundAlpha="0" borderStyle="none" paddingLeft="0" paddingTop="0" 
    useRollOver="false" rowHeight="25" itemRenderer="com.Frontend.views.TreeUser.tieListRenderer"> 
</containers:TileListEx> 

,这是我加入data.driver作为数据提供程序<mx:RadioButton id="radio" label="{data.name}" click="checkClick(event)" width="100%"/>

如果我点击的单选按钮值瓷砖列表中的改变,但如果滚动会值会随机变化的,因为itemRenderer的帮助我来解决这个问题

回答

0

你面临的问题只是作为itemRenderer实例创建的组件可以在TileList中重用。因此,如果假设您单击List的第一项itemRenderer的RadioButton,然后向下滚动,则单击的RadioButton(由于滚动而消失)将用作出现的其中一项的itemRenderer。你需要做的是让你的itemRenderer以某种方式依赖于'data'属性,比如向它添加'selected'属性,并且如果data.selected == true,则显示RadioButton为checked。您还需要在您的RadioButton点击处理程序中将所选值设置为适当的值。

+0

我也这样做..还是一样的问题...你有任何其他的解决方案 – Aswath 2010-07-23 08:41:46