AS3 プロジェクトにデータグリッド コンポーネントがあり、そのセル データの値に応じてムービー クリップをセルにロードするカスタム セル レンダラーが 1 つの列に割り当てられています。たとえば、セル データが 1 の場合は movieclip1 を読み込み、2 の場合は movieclip2 を読み込みます。これはうまくいきます。CustomCellRenderer クラスでは、
public function set data(value:Object):void {
_data = value;
// value.Number is the value that I use to determine which movie clip to show in this cell
source = "movie"+value.Number;
}
DataGrid が読み込まれると、正しいムービー クリップがセルに読み込まれます。ただし、ユーザーが列のヘッダーをクリックして列を並べ替えると、一部のムービークリップが読み込まれません。データが正常にソートされていることを確認しました。「movie」+value.Number をトレースすると、正しい文字列が表示されます。
ソースを再度設定する前に、各セルのムービー クリップをアンロードする必要があると思いますか? どうすればいいですか?
私が気付いたもう 1 つのことは、画面に収まりきらない行があるために DataGrid をスクロールする必要がある場合 (当たり前!)、「アクティブ」または「イン」があるかのように、ムービークリップの 1 つのセットのみが一度に表示されることです。ムービー クリップのみが表示されるフォーカス セル。繰り返しますが、Flash は、スクロール可能な DataGrid の表示部分にあるムービー クリップのみを表示しようとしていて、スクロールするたびに更新しようとしていると推測しています。ただし、すべての表示部分 (約 8 行) ではなく、1 つのセルのみがムービー クリップを表示します。
ありがとう