2011-06-25 8 views
0

メッセージハンドライベントを使用してJavaクラスファイルからデータを取得するflexアプリケーションで作業しています。受信したメッセージ文字列がArrayCollectionに追加されます。文字列はcodeIDとcodeIDに関連する他の値で構成されます。詳細をデータグリッドに表示しなければならなかった。 codeIDはランダムに生成され、1秒ごとにflexにプッシュされます。今、問題は、私は(たとえば、私は(0001000700050003)のフロントエンドにコードIDを押している場合、データグリッドのセルの値を更新する必要があります、 (0001)のインスタンスは、(0001)の既存行のレコードを更新する必要があります。私は、検索アルゴリズムを使用してArrayCollectionのcodeIDの存在をチェックしようとしましたが、さらに進める方法はわかりません。マウスイベントなしで、actionscriptで自動的にDataGridを更新するには?

ほとんどのヘルプは高く評価されています。前もって感謝します。

+0

配列コレクション内のオブジェクトの連想配列をcodeId(key)に保持する、ある種の永続的なレイアウトが必要です。これにより、参照と更新がより簡単になります。 –

答えて

1

ArrayCollectionを昇順で並べ替え、同じものをリフレッシュします。

var dataSort:Sort = new Sort(); 

dataSort.fields = [new SortField("code", true, false), new SortField("time", true, false)]; 


Collection.sort = dataSort; 

Collection.refresh(); 

バイナリ検索を使用してcodeIDの存在をチェックし、インデックスを取得します。

collection.removeItemAt(index); 

は、以前のcodeID(0001)のレコードを削除し、同じレコードを挿入します。

関連する問題