フレックス:データはどのようにして DataGridColumn.itemToLabel から DataGrid.itemRenderer.set(data) に渡されますか?

StackOverflow https://stackoverflow.com/questions/1844308

質問

dataProvider が int 配列 (それぞれ長さが異なる) の配列である DataGrid があります。各行のサイズは可変であるため(すべてのデータを表示したい)、次のようにすることにしました。 DataGridColumn を拡張し、itemToLabel 関数を上書きしてデータを表示できるようにします. 。問題は、int 値に応じてデータを異なる方法で表示する必要があることです。

唯一の解決策は itemRenderer を書くことだと思いますが、 itemRenderer.set(data) 関数が受け取る唯一の入力は int 配列全体です。itemToLabel によって返される正確な文字列、または itemRenderer が対象とするセルの列インデックスのいずれかが必要だと思います (基本的に itemToLabel で実装したのと同じ解析を行うため)。

フレックス3.4を使用しています。ご協力いただきありがとうございます。

役に立ちましたか?

解決

http://flexgeek.wordpress.com/2007/05/30/tutorial-using-same-itemrenderer-for-multiple-columns/

記事より

「...2 つのメソッドを持つインターフェイス IDropInListItemRenderer を実装する必要があります。

public function get listData():BaseListData
{
  return _listData;
}
public function set listData(value:BaseListData):void
{
  _listData = DataGridListData(value);
  invalidateProperties();
}

_listData オブジェクトは、itemRenderer がどの列に属しているかを示すプロパティ columnIndex を保持します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top