0

Flexプロジェクトには、Itemオブジェクトのコレクション/配列を返すサービス関数getItems()があります。

この関数は、SELECT*FROMテーブルのようなSQLステートメントを実行します。したがって、SELECTCOUNTSQLステートメントは使用しません。

Flex spark:DataGridを使用すると、データグリッドの長さを簡単に取得して、行数(私の場合は、getItems()関数によって返されるオブジェクトの数)を知ることができます。ただし、mx:AdvancedDataGridを使用しているため、spark:DataGridと同じ方法で長さを取得することはできません。

実際、text={ItemName}でラベルのセットを動的に作成する必要があります。Vboxとforループを使用して、ラベルのリストを作成できます。現時点では、forループの区切り文字に乱数があります。getItems()関数によって返されるオブジェクトの数を取得する必要があります。次に、その番号をforループに入れると、ジョブが完了します。

少なくとも、これが私がこのタスクを実行する方法です。

これを行うためのより良い方法はありますか?

PS:私はグーグルで広範囲に検索しましたが、やりたいことの実用的な例を見つけることができませんでした。

提案を歓迎し、StackOverflowは素晴らしいです!

[編集]私は最終的にmx:Repeaterを使用して上記のタスクを実行しました。

4

4 に答える 4

0

あなたは簡単に行うことができます

getItemsResult.lastResult.length 

また

(getItemsResult.lastResult as ArrayCollection).length

また

ArrayCollection(getItemsResult.lastResult).length

すべてが本質的に同じです。

于 2011-07-21T04:31:50.230 に答える
0

私は何かが足りないのですか?これはあなたのために働きますか?

var list:IList = getItems();
trace(list.length)
于 2011-07-20T19:00:16.080 に答える
0

ArrayCollectionには、ListCollectionViewから継承されたlength属性があります。これはあなたが必要なものですか?

于 2011-07-20T19:00:46.883 に答える
0

これはどう:

private function getItemsResultHandler(event:ResultEvent):void
{
    var items:ArrayCollection = new ArrayCollection();
    items = event.result as ArrayCollection;

    trace(items.length);
}
于 2011-07-20T21:41:12.213 に答える