如何通过单击取消选择flex datagrid行?

时间:2009-02-25 15:30:26

标签: flex datagrid flex3

我有一个简单的问题,似乎没有一个简单的解决方案。我有一个数据网格,如果单击并已选中,则应取消选择行。怎么做?

我正在查看不同的“item”事件,但是在调度它们时已经选择了行,因此无法判断它是否已被选中。

有人可以帮我解决一个我可能错过的非常简单的事吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

    <mx:Array id="arr1">
        <mx:Object label="One fish" />
        <mx:Object label="Two fish" />
        <mx:Object label="Tree fish" />
        <mx:Object label="Four fish" />
    </mx:Array>

    <mx:DataGrid id="dataGrid2"
                    click="test(event)"
                    dataProvider="{arr1}"
                    draggableColumns="false"
                    width="100%"
                    height="100%" >
                    <mx:columns>
            <mx:DataGridColumn dataField="label" width="50" />
        </mx:columns>
    </mx:DataGrid>

    <mx:Script>
        <![CDATA[

            private var lastIndex :Number = -1;
            private function test(evt:MouseEvent):void
            {
                if(dataGrid2.selectedIndex == lastIndex)
                    dataGrid2.selectedIndex = -1;

                lastIndex = dataGrid2.selectedIndex;
            }

        ]]>
    </mx:Script>

</mx:Application>