s:DataGrid id="viewDg" width="100%" height="100%" fontFamily="微软雅黑"
horizontalScrollPolicy="off" borderVisible="false"
dataProvider="{viewList}">
s:columns>
s:ArrayList>
s:GridColumn width="{wid*0.02}" resizable="false"
itemRenderer="Module_SchoolView.RadioButtonGridItemRenderer"/>
s:GridColumn width="{wid*0.25}" headerText="名称" dataField="xysj02" resizable="false"/>
s:GridColumn width="{wid*0.25}" headerText="地名" dataField="xysj02name" resizable="false"/>
s:GridColumn width="{wid*0.35}" headerText="URL" dataField="xysj04" resizable="false"/>
s:GridColumn width="{wid*0.13}" headerText="备注" dataField="xysj05" resizable="false"/>
/s:ArrayList>
/s:columns>
/s:DataGrid>
?xml version="1.0" encoding="utf-8"?>
s:GridItemRenderer 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:Declarations>
!-- 将非可视元素(例如服务、值对象)放在此处 -->
/fx:Declarations>
fx:Script>
![CDATA[
//----------------------------------------------------------------------------------------------------------
override public function prepare(hasBeenRecycled:Boolean):void
{
super.prepare( hasBeenRecycled );
// We make the radio button mimic the selection status of the whole row.
const selected_items: Vector.Object> = grid.dataGrid.selectedItems;
if( null == selected_items )
{
radio_button.selected = false;
return;
}
if( -1 != selected_items.indexOf( data ) )
radio_button.selected = true;
else
radio_button.selected = false;
}
//----------------------------------------------------------------------------------------------------------
]]>
/fx:Script>
!--The radio button is only a visual indicator for whether the row is selected or not.
The "selected" property of the radio_button will be controlled by the "prepare" function.
The radio_button should not be allowed any user interaction. Hence disabling it.-->
s:RadioButton id="radio_button"
label=""
enabled="false"
horizontalCenter="0" verticalCenter="0" />
/s:GridItemRenderer>