这应该是微不足道的,但我似乎无法找到一种方法来做到这一点。
我有一个DataGrid,我想做的是,当用户点击一行来选择它,检查某个条件,如果满足,则阻止该行被选中并保持旧选择不变。
谢谢!
答案 0 :(得分:3)
我没有测试它,但它应该在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;
}