最近用到一个DataGrid,在用户选中对应行时,显示相关的数据.为了提示用户选择行,在行中加了个单选按钮,进一步方便选择行时选中单选按钮,于是简单的实现了一下,具体代码如下, 希望用到的可以参考, 不明白的留言, 呵呵!
欢迎加入flex群: 117376837(可获得源码)
代码如下:
测试页面:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.ListEvent;
[Bindable]
public var arr:Array=[{b:"b",c:"c"},{a:"a",b:"b"},
{a:"a",c:"c"},{b:"b",c:"c"},
{a:"a",b:"b",c:"c"},{b:"b"}];
protected function itemClick(event:ListEvent):void
{
var dgData:ArrayCollection=grid.dataProvider as ArrayCollection;
for(var i:int=0;i<arr.length;i++)
{
dgData[i]["selectFlag"]=false;
}
dgData[event.rowIndex]["selectFlag"]=true;
dgData.refresh();
}
]]>
</fx:Script>
<mx:DataGrid id="grid" x="54" y="62" dataProvider="{arr}" itemClick="itemClick(event)">
<mx:columns>
<mx:DataGridColumn dataField="选择">
<mx:itemRenderer>
<fx:Component>
<mx:HBox>
<s:RadioButton selected="{data.selectFlag}"/>
<s:Label text="{data.a}"/>
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText="群号" dataField="b"/>
<mx:DataGridColumn headerText="117376837" dataField="c"/>
</mx:columns>
</mx:DataGrid>
</s:Application>
结果:选择某一行的同时选中该行的单选按钮