当前位置:  开发笔记 > 编程语言 > 正文

禁用Flex DataGrid中的行

如何解决《禁用FlexDataGrid中的行》经验,为你挑选了1个好方法。

除非我在这里遗漏了一些明显的东西,否则无法在DataGrid中解除一行或多行.我期望DataGrid或List组件上的disabledRows或disabledRowIndidices属性,但似乎不存在.

我找到了一个"rendererArray"属性,该属性的作用域为mx_internal,并包含datagrid中所有单元格的所有itemrenderers.所以我可以检查渲染器内部数据的类型和值,并启用或禁用同一行的所有单元格,但这感觉太像黑客了.

有什么建议?

编辑:我意识到禁用一行可能意味着不同的事情.就我而言,即使datagrid的editable属性设置为true,也意味着无法编辑行.然而,它也可能意味着无法选择一行,但这不是我正在寻找的.



1> AndrewB..:

为此,您需要该行的一些数据来表示它是不可编辑的.然后当"itemEditBeginning"然后检查数据或行索引以启用/禁用event.preventDefault的默认行为...

public function preventEditing(event:DataGridEvent):void
{   
    var status : Boolean = ArrayObjs[rowIndex].isYourCondition;

    if (status == true)
    {
        event.preventDefault();
    }
}

另一个选项是为您的数据单元格创建一个自定义ItemRenderer,但不要认为这是您想要的,因为您需要为每个单元格创建它.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有