这应该是微不足道的,但我似乎无法找到一种方法来做到这一点。
我有一个 DataGrid,我想做的是,当用户单击一行来选择它时,检查特定条件,如果满足,则阻止该行被选择并保持旧选择不变。
谢谢!
最佳答案
我没有测试它,但它应该可以在 GridSelectionEvent.SELECTION_CHANGING 事件上使用 event.preventDefault() 和/或 event.stopImmediatePropagation() 工作。
//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;
}
关于apache-flex - 在flex中,有没有一种方法可以捕获并选择性地取消DataGrid中的行选择事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447127/