apache-flex - 在flex中,有没有一种方法可以捕获并选择性地取消DataGrid中的行选择事件?

标签 apache-flex flex4

这应该是微不足道的,但我似乎无法找到一种方法来做到这一点。

我有一个 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/

相关文章:

apache-flex - 如何使用 Flexmojos 设置主题?

actionscript-3 - 将图像保存在共享对象中

apache-flex - 如何找出语言中按下的字符?

java - 每次我在 flex 中刷新浏览器时如何获得警告消息

actionscript-3 - 如何在没有任何 *.mxml 文件的情况下编译 maven/flex 项目?

apache-flex - "This application cannot be installed because this installer has been mis-configured. Please contact the application author for assistance."

c# - 从 Flex (XMLSocket) 连接到 .NET (Socket) 的数据问题

php - 使用 actionscript 将 Arraycollection 字段保存到 mysql/php

apache-flex - 扩展 Flex Spark Button 以包含可单击的复选框

java - 如何使 java 对象在 Flex 中的 Sub mxml 到 Main mxml 文件中可见?