Flex Datagrid排序已停止事件

时间:2009-04-06 18:46:07

标签: flex datagrid sorting

在Adobe Flex中,当用户在Datagrid中的列标题上按下并释放鼠标时, 调用列的相应排序函数。 有没有办法弄明白,排序什么时候停止? 基本上,数据网格中有一个“序列号”列, 当我对特定列进行排序时,我想重新标记它 发生和停止。

我需要它,因为: 我的数据网格中有一个年份列。 当我对它进行排序时,假设有6个条目:

2008
2008
2008
2009
2009
2009

我希望标签为1,2,3,1,2,3,即标签在一年后重新开始 变化。

4 个答案:

答案 0 :(得分:2)

DataGrid的dataProvider在排序完成后调度CollectionEvent.COLLECTION_CHANGE事件,并将其'kind'属性设置为CollectionEvent.REFRESH。只需获取dataProvider并为其添加一个事件处理程序,你应该没问题。

答案 1 :(得分:0)

排序不是异步过程,因此不会生成任何事件。您可以通过headerRelease事件了解何时即将开始排序。

答案 2 :(得分:0)

如果您想重新标记该列,为什么不使用标签功能?为什么你需要它等到分拣完成?

答案 3 :(得分:0)

您可以关闭列上的排序并将一个headerRelease事件处理程序添加到DataGrid,它在ActionScript中“手动”对dataProvider的基础Collection进行排序,在刷新Collection之后,调用一个函数来重置列标题文本。有关覆盖排序功能的更多详细信息,请查看此链接:

http://livedocs.adobe.com/flex/3/html/help.html?content=dpcontrols_7.html