[英]Flex ItemRenderer as CheckBox
我在Flex DataGrid中有一个itemRenderer作为CheckBox。
现在,我想确保一次只选中一个复选框 。 如果用户选中了一个复选框,然后尝试选择另一个复选框,则应取消之前的选择。
如何在Flex?
编辑:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.CheckBox;
import mx.controls.RadioButton;
import mx.controls.RadioButtonGroup;
[Bindable]
protected var renderer:ClassFactory;
protected function initRenderer() {
var group:RadioButtonGroup = new RadioButtonGroup();
var renderer = new ClassFactory(RadioButton);
renderer.properties = {group:group};
}
private var arrayC:ArrayCollection = new ArrayCollection
(
[
{fname:"Person1",isSelected:false},
{fname:"Person2",isSelected:false},
{fname:"Person3",isSelected:false}
]
);
// To be called when we uncheck checkbox ..
private function unSelect(event:MouseEvent):void {
}
]]>
</mx:Script>
<mx:DataGrid id="dg" x="400" y="400" dataProvider="{arrayC}">
<mx:columns>
<mx:DataGridColumn id="dgc1" itemRenderer="{renderer}"/>
<mx:DataGridColumn id="dgc2" dataField="fname"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
尝试这样的事情:
[Bindable]
protected var renderer:ClassFactory;
protected function initRenderer() {
var group:RadioButtonGroup = new RadioButtonGroup();
var renderer = new ClassFactory(RadioButton);
renderer.properties = {group:group};
}
将列的itemRenderer属性绑定到渲染器。
编辑:这篇文章最初的另一个答案解释说,当需要的功能是用户希望从Radio Buttons获得的功能时,使用复选框并不是一个好主意。 用户希望他们看到复选框可以检查多个复选框。 http://www.useit.com/alertbox/20040927.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.