[英]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.