1

アイテムとその詳細をそれぞれ表示するリストの itemRenderer があります。詳細を非表示にして、クリックすると詳細が表示されるメインの mxml ファイルに [詳細を表示] ボタンが必要です。

だから、私の問題は clickHandler にあり、メインの mxml から itemRenderer 内の詳細プロパティにアクセスするにはどうすればよいですか?

よろしくお願いいたします。

4

3 に答える 3

0

メインにブール値があります。これは、itemRendererがキーオフするものです。リストのitemRenderersへのアクセスはリサイクルされているため推奨されておらず、操作は保証されません。

説明については、http: //www.adobe.com/devnet/flex/articles/itemrenderers_pt1.htmlを参照してください。

于 2010-07-14T14:28:41.230 に答える
0

これにアプローチする方法はいくつかあります。

1つは、「ShowDetails」値を含むグローバルシングルトンオブジェクトを使用することです。すべてのitemRendererは、そのオブジェクトにアクセスして、その設定を変更できます。CairngormのModelLocatorは、この方法で一般的に使用されるシングルトンの一例です。swizにも似たようなものがあると思います。必要に応じて、自分でロールすることもできます。

Listクラスを拡張してみることができます。ListはitemRenderersを配列に保持しますが、これは保護されていると思います。リストを拡張し、この保護された配列を公開する必要があります。次に、itemRendererのリストにアクセスして、それらのプロパティを直接変更できるようになります。

ただし、どちらのアプローチをお勧めするかはわかりません。itemRendererは、表示しているデータに基づいて、実際に何を表示するかを選択する必要があります。一部のグローバル変数ではありません。dataProviderのオブジェクトを変更し、それに応じてitemRendererを更新できますか?これは3番目のオプションです。前の2つのアプローチよりも良いのか悪いのかはわかりませんが。

于 2010-07-14T14:29:51.603 に答える
0

'show'という変数をDataProvider配列に設定して、falseに設定することができます。itemrendererで、detailsコンポーネントのvisibleプロパティをdata.showにバインドします。

表示ボタンが押されたら、dataProvider配列をトラバースし、「show」プロパティをtrueに設定します。これはうまくいくでしょう

ビッシュ

于 2010-07-14T14:30:11.700 に答える