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の並べ替え機能を調べます:ArrayCollectionの並べ 替え

于 2012-10-10T17:31:39.287 に答える
0

ArrayCollection参照の並べ替えを使用して、それを理解しました。並べ替えと抽出に2つの異なる方法を使用しました。

並べ替え:

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 に答える