Как отменить выбор строки гибкой таблицы данных, нажав на нее? - PullRequest
1 голос
/ 25 февраля 2009

У меня вопрос к простой вещи, для которой, кажется, нет простого решения. У меня есть сетка данных, и строки должны быть отменены, если она нажата и уже выбрана. Как это сделать?

Я смотрю на различные события "item", но строка уже выделена, когда они отправляются, поэтому невозможно определить, был ли он уже выбран или нет.

Может ли кто-нибудь помочь мне с очень простой вещью, которую я, вероятно, пропустил?

1 Ответ

2 голосов
/ 25 февраля 2009

Попробуйте это:

<?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>
...