我不知道怎么做,现在尝试了几件事,所以我会问。下面显示了我想要的内容。我只是不知道如何让它发挥作用。
我有一个AC,有几个问题和相关的答案。这些必须在DG中显示,并且想法是DG的行和列绑定到AC。例如,如果question1的答案为Yes,则Yes按钮必须为true,其他两个必须为false(如正常的radiobuttongroup行为)。但是当我通过点击它来更改按钮时,AC的动作数据字段应该相应地改变。我在这里清楚了吗?
动态问卷调查。任何帮助都非常感谢。
<?xml version = "1.0"?>
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var questions : ArrayCollection = new ArrayCollection([
{ question: 'Question 1', anwer: 'Yes' },
{ question: 'Question 2', anwer: 'No' },
{ question: 'Question 3', anwer: 'Unknown' }, ]);
]]>
</mx:Script>
<mx:Panel title = "Questionaire example" height = "100%" width = "100%" paddingTop = "10"
paddingLeft = "10" paddingRight = "10">
<mx:DataGrid id = "dg" width = "100%" height = "100%" dataProvider = "{questions}">
<mx:columns>
<mx:DataGridColumn dataField = "question" headerText = "Questions"/>
<mx:DataGridColumn width = "80" textAlign = "center" editable = "false"
headerText = "Yes">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign = "center" verticalAlign = "middle">
<mx:RadioButton/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn width = "80" textAlign = "center" editable = "false"
headerText = "No">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign = "center" verticalAlign = "middle">
<mx:RadioButton/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn width = "80" textAlign = "center" editable = "false"
headerText = "Unknown">
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign = "center" verticalAlign = "middle">
<mx:RadioButton/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:Application>
答案 0 :(得分:0)
ToggleButtonBar
比RadioButton
更容易使用,并且它在功能上是相同的组件(设置selectedIndex - 一次只能选择一个)。
不要将每个单选按钮放在自己的列中,只需将ToggleButtonBar放在一列中。
答案 1 :(得分:0)
当您谈到“行动”数据字段时,不确定您所指的是什么:
'但是当我点击它来更改按钮时,AC的动作数据字段应该相应地改变。'
点击问题1的“是”时,您想要发生什么?
在itemrenderers中设置数据会覆盖设置数据函数,当该渲染器初始化时,该行的所有数据都将出现在值对象中