当前位置 博文首页 > Flex4 DataGrid中如何嵌入RadioButton

    Flex4 DataGrid中如何嵌入RadioButton

    作者:admin 时间:2021-08-31 18:52

    复制代码 代码如下:

    <s:DataGrid 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>

    MXML页面
    复制代码 代码如下:

    <?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
    label=""
    enabled="false"

    horizontalCenter="0" verticalCenter="0" />

    </s:GridItemRenderer>
    jsjbwy