0

我的代码中有一个数据网格,如下所示:

<s:DataGrid id="dg">
  <s:ArrayCollection id="ac">
    <s:DataItem ../>
    <s:DataItem ../>
  </s:ArrayCollection>
</s:DatGrid>

在以特定方式对数据进行排序后,我试图让一个单独的标签(默认情况下)显示来自特定单元格的数据。

例如:

DataGrid shows:

Date  Type
----  ----
8     yes      
12    no
6     this
7     that

Label: 6 (First date after sorting in ascending order)

我可以在 ActionScript(或其他方式)中执行此操作的任何简单方法吗?我应该尝试使用 ArrayCollection 组件还是 DataGrid?

谢谢,

4

2 回答 2

0

想通了,使用排序 ArrayCollection参考。使用了两种不同的排序和提取方法:

排序:

private function sortFunction(a:Object, b:Object, array:Array = null):int
{
  ..my sorting code..
}

public function Grid_onLoad(event:Event):void
{
  var sort:Sort = new Sort();
  sort.compareFunction = sortFunction;
  items.sort = sort;
  items.refresh();
}

萃取:

public function FirstDate():String
{
  return items.getItemAt(0).Date;
}

然后它只是适当地调用函数的问题:

<s:DataGrid id="items" initialize="Grid_onLoad(event)">
  <s:ArrayCollection id="ac">
    <s:DataItem ../>
    <s:DataItem ../>
  </s:ArrayCollection>
</s:DatGrid>

<s:Label text="{FirstDate()}"/>
于 2012-10-16T16:06:34.480 回答
0

我会研究 ArrayCollection 的排序功能: Sorting ArrayCollection

于 2012-10-10T17:31:39.287 回答