如何在Flex 4中禁用可编辑数据网格中的自动排序

时间:2011-03-08 06:00:54

标签: flex actionscript-3 datagrid flex4

我有一个可编辑的数据网格。如果通过单击datagrid的任何标头应用排序,它可以正常工作。但之后,如果在datagrid的任何行中更改了数据值,则会自动应用排序。如何防止这种行为?即只有当用户点击datagrid的任何标题时才应用排序,并且当用户修改网格中的数据时不应该应用排序。

3 个答案:

答案 0 :(得分:4)

您必须将sortableColumns设置为 false 并处理headerRelease事件,您可以在数据源上执行sorting manually

<mx:DataGrid sortableColumns="false" headerRelease="onHeaderRelease(event)" ...

答案 1 :(得分:1)

只需在项目编辑器中提交值之前调用Object(owner).dataProvider.disableAutoUpdate()

答案 2 :(得分:0)

我知道您在Flex 4中提到了这个问题,但我希望我在Flex 3中找到的解决方案会有所帮助。

我也遇到了同样的问题但后来我意识到数据中的某些内容必须触发排序。 事实证明我将数据设置为[Bindable]。这有意义地看到排序是自动发生的,因为值更改dispatch propertyChange事件。

如果确实需要将数据设为[Bindable],请使用自定义绑定: http://livedocs.adobe.com/flex/3/html/help.html?content=ascomponents_4.html