使用单选按钮问题flex advanceDdatagrid

时间:2010-07-23 04:13:51

标签: flex flex3

我正在使用Flex 3的Advanced DataGrid和分层数据 我还将瓷砖列表添加为另一列中的项目渲染器 在该tile列表中,我将radiobutton添加为项呈示器 如果我改变无线电选择值,分层树应该扩展 如果滚动条将出现,单选按钮值正在改变

<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帮助我解决这个问题,因此值会随机变化

1 个答案:

答案 0 :(得分:0)

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