【发布时间】:2011-07-10 21:06:06
【问题描述】:
我有一个可编辑的数据网格。如果通过单击数据网格的任何标题来应用排序,则可以正常工作。但在那之后,如果数据网格的任何一行中的数据值发生变化,则会自动应用排序。如何防止这种行为?即仅当用户单击数据网格的任何标题时才应应用排序,并且当用户修改网格中的数据时不应应用排序。
【问题讨论】:
标签: apache-flex actionscript-3 datagrid flex4
我有一个可编辑的数据网格。如果通过单击数据网格的任何标题来应用排序,则可以正常工作。但在那之后,如果数据网格的任何一行中的数据值发生变化,则会自动应用排序。如何防止这种行为?即仅当用户单击数据网格的任何标题时才应应用排序,并且当用户修改网格中的数据时不应应用排序。
【问题讨论】:
标签: apache-flex actionscript-3 datagrid flex4
您必须将sortableColumns 设置为false 并处理headerRelease 事件,您可以在其中对数据源执行sorting manually。
<mx:DataGrid sortableColumns="false" headerRelease="onHeaderRelease(event)" ...
【讨论】:
在您的项目编辑器中提交值之前,只需调用Object(owner).dataProvider.disableAutoUpdate()。
【讨论】:
我知道您在 Flex 4 中提出了这个问题,但我希望我在 Flex 3 中找到的解决方案会有所帮助。
我也遇到了同样的问题,但后来我意识到数据中的某些东西一定会触发排序发生。 事实证明,我正在将数据设置为 [Bindable]。看到排序自动发生是有道理的,因为值更改调度 propertyChange 事件。
如果您确实需要将数据设为 [可绑定],请使用自定义绑定: http://livedocs.adobe.com/flex/3/html/help.html?content=ascomponents_4.html
【讨论】: