hGridコンポーネントは他の2つのADF UIXコンポーネントを組み合せたものです。つまり、tableコンポーネントの形式を採用しながらtreeコンポーネントを拡張したものです。
hGridコンポーネントは、ツリー構造のデータを表のような形式で表示する際に使用します。各行はツリー・ノードに相当します。treeコンポーネントは複数のルートをサポートしていますが、hGridはツリーで使用するようなdataObjectListではなくdataObjectという単一のルートのみをサポートしています。hGridコンポーネントはサブツリーのズーム・インおよびズーム・アウト機能(つまり、フォーカス・インとフォーカス・アウト)もサポートしているため、大規模なデータ・ツリーでこれを使用することが可能です。
hGridコンポーネントではオブジェクト階層列とフォーカス列が作成され、オブジェクト列にはツリー・ノードが、また、フォーカス列にはズーム・イン・アイコンまたはフォーカス・アイコンが表示されます。ツリーのルートは列ヘッダーの直下に表示されます。
ユーザーはオブジェクト階層列で、ツリー・ノードの子を開いて表示したり、閉じて非表示にしたりできます。フォーカス列では、サブツリーを1つ以上含む各ツリー・ノードにフォーカス・アイコンが表示されます。フォーカス列は、ツリーの新しいルートを選択するために使用されます。この列により、ユーザーは大規模なツリーのサブツリーにズーム・インできます。
ユーザーがフォーカス・アイコンをクリックすると、hGridコンポーネントは列ヘッダー上部にナビゲータ領域をレンダリングし、現在のフォーカス・ルートの親ノードをすべて表示します。これにより、ユーザーは現在のサブツリーからフォーカス・アウト(またはズーム・アウト)できます。同時に、hGridはテキスト・リンクをレンダリングして、ユーザーが現在のフォーカス・ルート下のすべてのノードを簡単に開いたり閉じたりできるようにもします。
オブジェクト階層列のコンテンツをレンダリングするには、treeコンポーネントの場合同様、nodeStampを使用できます。このオブジェクト階層列の列ヘッダーのデフォルトは「Name」です。このデフォルトは、列コンポーネントをnodeStampとして定義し、その列に名前付きの子columnHeaderを設定することにより変更できます。
hGridのその他の外観は、表コンポーネントを管理する場合と似た方法で管理されます。列ヘッダーを指定するには、columnHeaderData属性と、名前付きの子columnHeaderStampを使用します。列の値は、hGridの索引付けられた子(またはコンテンツ)として設定します。様々な書式オプションは、tableFormat、columnFormatsおよびcolumnHeaderFormatsの各属性を使用すると設定できます。
ヒント: サブツリーに含まれる要素が非常に多い場合は、すべてのノードを展開しないようにします。ツリー・ノードをすべて展開する機能を無効にするには、そのノード要素でexpandAll属性をfalseに設定します。または、ClientStateHGridDataProxy.EXPAND_ALL_KEYキーの値をBoolean.FALSEに設定します。
hGridに設定できる属性は次のとおりです。
alternateText
: 空のhGrid内で表示するテキストを指定します。
formSubmitted
: hGridプロキシが生成したリンクでフォームの送信が使用されるかどうかを決定するブール値を指定します。
summary
: ビジュアル環境ではないユーザー・クライアントで使用する表の用途と構造の要約を指定します。
childBlockSize
: 指定ノードで1回に表示できる子ノードの最大レコード数を指定します。childBlockSizeの数より多くの子がノードに含まれている場合は、スクロール・リンク付きの特殊なナビゲーション行がそのノードの上か下にレンダリングされます。詳細は、「childBlockSizeについて」を参照してください。
columnFormats
: 各列の書式設定情報のためにバインドすべきデータソースを指定します。この複合属性は、EL構文の式を使用してデータ・バインドできます。
columnHeaderData
: columnHeaderStampという子をスタンプする際に使用するデータソースを指定します。この複合属性は、EL構文の式を使用してデータ・バインドできます。
columnHeaderFormats
: 各列ヘッダーの書式情報のためにバインドすべきデータソースを指定します。この複合属性は、EL構文の式を使用してデータ・バインドできます。
destination
: hGridによって生成されるすべてのリンクのベース・リンク先を指定します。
inlineStyle
: 使用するインラインCSSスタイルを指定します。
partialRenderMode
: hGridに対する部分ページ・レンダリング(PPR)動作のタイプを指定します。使用可能な値は、none、selfおよびmultipleです。デフォルトでは、hGridのすべての相互作用は結果的にはページ全体のレンダリングになります(つまり、partialRenderModeはnoneに設定されています)。partialRenderModeがselfまたはmultipleに設定されている場合には、expand、collapse、focusの各イベントは部分ページ・イベントとして送られるため、指定した部分ターゲットは更新されますがページ全体が再レンダリングされることはありません。部分ページ・レンダリングが適切に機能するには、hGridコンポーネントのid属性が設定されていること、hGridがUIXのbody要素とともに使用されていることが必要です。これらの要件が満たされ、partialRenderModeがselfまたはmultipleに設定されている場合に、hGridコンポーネントでは、アプリケーションへのイベント送信時に部分ページ・レンダリング・アーキテクチャが使用されます。これらの要件のいずれかが満たされていない場合、または部分ページ・レンダリングがブラウザでサポートされていない場合には、ページの全体レンダリングが実行されます。multipleに設定した場合は、partialTargets属性も設定する必要があります。
partialTargets
: partialRenderModeがmultipleに設定されている場合にレンダリングする部分ターゲット・ノードのリストを指定します。hGridコンポーネントのIDはpartialTargetsリストに自動的に組み込まれます。
proxied
: クライアント・サイドでJavaScriptを使用してhGridの操作を実行できるかどうかを決定するブール値を指定します。trueに設定されていれば、クライアントでのレンダリング時にJavaScriptプロキシ・コードが組み込まれます。
proxy
: ツリー・ノードと、展開状態、選択状態、フォーカス状態および子ノードとの間にあるプロキシを指定します。プロキシを持たないhGridは対話型ではありません。プロキシは、hGridの状態(開いている、閉じている、フォーカスしている)を設定して追跡します。プロキシのタイプはoracle.cabo.ui.data.tree.HgridDataProxyである必要があります。このプロキシのインスタンスについては、oracle.cabo.ui.data.tree.ClientStateHGridDataProxyを参照してください。
summary
: ビジュアル環境ではないユーザー・クライアントで使用する表の用途と構造の要約を指定します。この属性を指定しない場合は、text属性の値が使用されます。tableFormat
: 表全体の書式データを指定します。この複合属性は、EL構文の式を使用してデータ・バインドできます。許可されている表の書式は次のとおりです。
bandingInterval
: 各バンド・グループの行数または列数を指定します。
tableBanding
: 表でのバンドの使用方法を指定します。サポートされる値は次のとおりです。
noBanding
: デフォルトです。表では、バンドは使用されません。
columnBanding
: 列に交互にバンドが付けられます。
rowBanding
: 行に交互にバンドが付けられます。
treeData
: hGridによって表示されるデータ・ツリーを指定します。
unvalidated
: hGridプロキシにより生成されるフォームの送信より前に検証を行うかどうかを決定するブール値を指定します。デフォルトでは、検証は実行されません。この属性は、hGridをformSubmittedモードで使用している場合にのみ使用できます。
width
: HGridの幅を指定します。
model
: 最終的にはADFデータ・コントロールになるEL構文の式を指定します。この属性が設定されている場合は、データ・コントロールの様々な属性がhGridに自動的に設定されます。これらの属性は、プロパティ・インスペクタでは右の列の[Set by model]として定義されます。データ・コントロール・パレットを使用してhGridを作成する場合は、id
属性とmodel
属性は自動的に設定され、たとえば<hGrid model="${bindings.ColorsView1}" id="ColorsView11">
となります。
id
: クライアント対クライアントまたはクライアント対サーバーのイベントでページ全体のhGridのIDを指定します。データ・コントロール・パレットを使用してhGridを作成した場合、この属性は自動的に設定されます。
ADFバインディングとデータ・コントロール・パレットの詳細は、次を参照してください。
次に示すように、hGridコンポーネントは次の名前付きの子をサポートします。
columnHeaderStamp
: 各列にラベルをレンダリングするノードを指定する際に使用します。
nodeStamp
: オブジェクト階層列のヘッダーを指定する際に使用します。この名前付きの子は、各ツリー・ノードでレンダリングするノードを指定すると、オブジェクト階層列のデータをカスタマイズする際のスタンプとしても使用できます。
tableActions
: 行の選択には依存しない表でアクションを実行するコンポーネントを挿入する際に使用します。挿入された子コンポーネントは、列ヘッダーの上部に表示されます。挿入に適したコンポーネントは、button、messageChoice、pageButtonbarまたはsubmitButtonです。
tableSelection
: 1行以上を選択するため、表に選択列を挿入する際に使用します。ラジオ・ボタン(単一選択)またはチェック・ボックス(複数選択)を選択できます。
注意: 行の書式オプション、表のナビゲーション、詳細表示はhGridではサポートされていません。
hGridDataProxyについて
treeについて
browseMenuについて
Copyright © 1997, 2004, Oracle. All rights reserved.