Во flex, есть ли способ перехватить и при желании отменить событие выбора строки в DataGrid? - PullRequest
2 голосов
/ 16 сентября 2011

Это должно быть тривиально, но я не могу найти способ сделать это.

У меня есть DataGrid, и я бы хотел, чтобы пользователь нажимал на строку, чтобы выбрать ее, проверял определенное условие и, если он выполнялся, предотвращал выбор строки и сохранял старыйвыбор без изменений.

Спасибо!

1 Ответ

3 голосов
/ 16 сентября 2011

Я не тестировал его, но он должен работать с использованием event.preventDefault () и / или event.stopImmediatePropagation () для события GridSelectionEvent.SELECTION_CHANGING.

//stupid function but used for example purpose
private function addListener():void
{
    dataGrid.addEventListener(GridSelectionEvent.SELECTION_CHANGING, onSelectionChanging)
}


private function onSelectionChanging(event:GridSelectionEvent):void
{
    if(!canRowBeSelected(event.selectionChange.rowIndex))
    {
       event.stopImmediatePropagation();
       event.preventDefault();
    }
}

private function canRowBeSelected(index:int):Boolean
{
    //add logic
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...