1

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

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

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

4

1 回答 1

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>
于 2009-02-25T19:39:29.587 回答