注意: レイアウト上、表のような外観が必要な場合には、かわりにtableLayout
の使用を検討してください。
ADF UIXを使用した表コンポーネントは、性質の似た表データの表示と更新のための要素です。
表データの項目は2次元形式で記述されます。つまり、比較の対象となっているデータ項目は行に存在し、項目上に取込むファセットまたはアクションの数は列として存在します。データ項目の行と列の各交差部をセルといいます。したがって、表は複数のセルで構成され、各データ項目に対してセルが1行と指定数の列が存在し、セルの各列は、多くのデータ項目間で比較されている1つの項目のファセットを表します。
単一の表では、行数(つまりデータ項目数)は時間の経過とともに変動することがありますが、列数(つまり項目でのファセット数)は変動しません。たとえば、ショッピング・カートを表している表では、列を項目の価格と数量にすることができ、ショッピング開始の時点では行数(項目)はゼロです。ショッピング終了時には、表に複数の項目または行が存在する可能性がありますが、ファセット(列)数は同じままです。
表データを作成する際に使用するメインのtableコンポーネントはtable
およびcolumn
です。データ表は、table
の索引付けされた子として一連のcolumn
要素により作成されます。table
とcolumn
自体には、その表のセルでデータの構成が済んでいるかスタンプ付けが行われていなければ、視覚的に認識できるオブジェクトは何も表示されません。表には各列にスタンプが1つ存在します。各列のスタンプは、column
の索引付けされた子から、スタンプ(またはレンダリング)すべき表示可能なコンテンツを取得します。テキスト、ボタン、またはその他のすべてのコンポーネントを索引付けされた子として使用できます。
各列のスタンプについては、UIXが索引付けされた子を表の列のすべてのセルで1回ずつ自動的に繰り返すか、スタンプします。列にスタンプする際にUIXが認識する行数はdataObjectListの長さにより決定されます。dataObjectListはtable
のtableData
属性にバインドされます。dataObjectList内の各dataObjectはデータの行に対応しています。UIXは、dataObjectList内の各dataObjectに対して各列のスタンプを1回レンダリングします。
たとえば、インライン・データを使用すると、次のUIX XMLコードでは列が2、行が3の表がレンダリングされます。tableData属性は、demoTableDataという名前でインライン・データにバインドされます。demoRowDataというdataObjectListは、3つのdataObjectから成ります。1番目の表の列の各セルには、子であるテキストがスタンプされます。2番目の表の列の各セルには、子であるボタンがスタンプされます。
Example:
<dataScope xmlns="http://xmlns.oracle.com/uix/ui">
<provider>
<!-- all the data used by the table demo -->
<data name="demoTableData">
<inline>
<!-- all the row DataObjects used by the table for tableData -->
<demoRowData/>
<demoRowData/>
<demoRowData/>
</inline>
</data>
</provider>
<contents>
<table name="table1"
tableData="${uix.data.demoTableData.demoRowData}">
<contents>
<column>
<contents>
<!-- first column stamp -->
<text text="Sample text"/>
</contents>
</column>
<column>
<contents>
<!-- second column stamp -->
<button text="Push Me"/>
</contents>
</column>
</contents>
</table>
</contents>
</dataScope>
上のコードでは、次の表が生成されます。
tableとその名前付きの子について
columnとその名前付きの子について
表でのデータ・バインディングについて
部分ページ・レンダリングについて
tableProxyについて
tableLayoutについて
Copyright © 1997, 2004, Oracle. All rights reserved.