2
這應該是微不足道的,但我似乎無法找到一種方法來做到這一點。在Flex中,是否有一種方法可以捕獲並可選地取消DataGrid中的行選擇事件?
我有一個DataGrid,我想要做的是,當用戶點擊一行來選擇它,檢查一定的條件,如果滿足,防止行被選中並保持舊的選擇不變。
謝謝!
這應該是微不足道的,但我似乎無法找到一種方法來做到這一點。在Flex中,是否有一種方法可以捕獲並可選地取消DataGrid中的行選擇事件?
我有一個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;
}
看起來像我想要做的,但我沒有看到SDK中的GridSelectionEvent。我使用4.1,這是一個更新的功能? – PBG
我不知道,因爲它在那裏......你使用Spark還是MX? – Exort
我嘗試了spark和MX。並且幸運的是,我無法加載Adobe文檔來檢查。 – PBG