detailおよびdetailDisclosureについて

表の設計では、次の図のように、各行に対して詳細情報を追加表示したり非表示にしたりする機能を持たせることができます。

Table with Details column

表示されている各行の下にスタンプするノードを指定するには、tableコンポーネントの名前付きの子detailを使用します。表に対して名前付きの子detailを使用すると、列ヘッダーが「詳細」で、各セルにhideShowコンポーネントを持つ追加列がADF UIXにより自動的にレンダリングされます。

ユーザーがhideShowコンポーネントをクリックすると、UIXにより次のパラメータを持つURLが生成されます。

表の行の上部に「すべての詳細を表示」および「すべての詳細を非表示」というリンクを追加するには、allDetailsEnabled属性をtrueに設定します。これらのリンクをユーザーがクリックすると、次のパラメータが生成されます。

「詳細」列の各セルの表示の状態(つまり非表示または表示)は、detailDisclosureという複合属性により決定されます。この複合属性は、tableコンポーネントではDataObjectList属性であり、現在表示されている詳細行のリストのデータソースを指定します。

DataObjectListには、表内の行ごとに1つのDataObjectが含まれ、それぞれが行のレンダリング時に、disclosedキーを使用してそれぞれに対して問いせわされます。このDataObjectが問合せに対しBoolean.TRUEを返す場合、行はdisclosedとしてレンダリングされ、detailのコンテンツが通常のデータ行の下にある特別の行にスタンプされます。

detailがdisclosedの表の行の下にレンダリングされる場合、現行のデータ・オブジェクトが、その表の行のデータ・オブジェクトになります。したがって、detailのコンテンツは、現行のオブジェクトにバインドすることにより、その表の行データ・オブジェクトからバインド値を取得できます。


tableとその名前付きの子について

詳細表示でのdetailの使用
tableコンポーネントの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.