繰り返しテーブルは以下のように作動します:
•ページソース内の繰り返し要素は、繰り返しテーブルと関連付けられています。 (下のサンプルを参照してください).
•テーブルに含むことのできる行と列の数量に制限はありません。
•繰り返し要素の発生の都度、 デザインしたテーブルは繰り返されます。ですから、テーブルデザインに2つの行が含まれている場合、繰り返し要素が発生する都度、2つの行を含むテーブルが作成されます。
•テーブルのコンテンツは、動的であることができます。テーブル内のは、 XPath 式には、コンテキストノードとして関連付けられた繰り返し要素が存在します。 要素が発生する都度、特定の発生はその特定のテーブルのためのコンテキストノードとなります (下のサンプルを参照してください)。
•追加/削除コントロールをエンドユーザーが新規の行を追加して、ここの行を削除することを有効化するテーブルに追加することができます。 例えば、ユーザーが行を追加すると、関連付けられたテーブル要素の新規の発生がページソースのツリーに追加されます。 これらの変更は、データソースに保存され、ユーザーがデータソースを変更することを有効化します。
繰り返しテーブルは、 テーブルコントロール がデザインにドロップされるときに定義されます。
ページソース内の Person 要素には、 First、 Last、 および Phone 子要素が含まれています。 Person 要素は(インスタンス内で)複数回発生することができます。以下のようなテーブルを作成すると想定します:
|
<First> |
<Last> |
<Phone> |
<Person> |
|
|
|
<Person> |
|
|
|
<Person> |
|
|
|
Person 要素 は繰り返されるため、Person 要素と関連付けられた繰り返しテーブルを作成し指定することができます。新しいテーブルダイアログ内にはテーブルには1つの行と4つの列を持つテーブルが作成されます (下を参照)。このテーブルコンテキストノードは、 Person です。各列内でページソースリンクを子ノードに相対的にすることができます (下のスクリーンショット参照)。 Person 要素に番号を付ける XPath 式が最初の列に含まれます 例: count(preceding-sibling::*)+1。 デザインは、以下のようになります:
生成されたテーブルは、以下のようになります:
メモ: | XPath/XQuery 式によりデータストリームを生成することができ、データソースとして使用することができます。しかしながら、この種のデータソースは、現在で使用するために作成され、ドキュメントの他の箇所で使用するためのページソースとしてはアクセスすることはできません。 |
繰り返しテーブル は 動的行の存在するテーブル と以下の点で異なります:
•繰り返しテーブルでは、繰り返しデータ構造とテーブル全体が関連付けられています。新規のテーブルは、発生する都度作成されます。
•動的行の存在するテーブル では、繰り返し構造とテーブル行グループが関連付けられている。
この差異はデザインに以下の2つの影響を与えます:
•動的行の存在するテーブル は、テーブル全体に対して適用することのできるヘッダー および/または フッターを持つことができます。これはテーブルのための ヘッダー/フッターです。ヘッダー/フッターが 繰り返しテーブル のために必要な場合、繰り返しテーブルの外部に手動で追加することができます。繰り返しテーブル 内に追加された場合、これらは各要素が発生する都度、繰り返されます。
•テーブルは通常デバイス上で上下にスペースが加えられて表示されます。繰り返しテーブル は、繰り返されたテーブルのペアの間に上下のスペースが加えられ表示されます。
テーブルが作成された後、静的テーブルを繰り返しテーブルに変更するには、 繰り返しプロパティ を true に変更します。そして、テーブルをページソースからの繰り返し要素と関連付けます。
繰り返しテーブルを次のようにセットアップします:
1.テーブルコントロールがデザインにドロップされた時に表示される [新しいテーブル] ダイアログ で [テーブルの繰り返し] をチェックしてテーブルを繰り返します (下のスクリーンショット)。 繰り返しデータの行の全てのインスタンスに対してテーブルが繰り返されることに注意してください。
2.繰り返しテーブルの持つ静的な列と行の数量を指定します。テーブルのコンテキスト メニューを使用して後から列と行を繰り返しテーブルに追加することができます。
3.自動追加/削除 コントロールが追加されるか指定します。追加されると、ソリューションの各繰り返しテーブルは、[削除] ボタン を、繰り返しテーブル構造全体は、構造に繰り返しテーブル(行)を追加する [追加] ボタンを持ちます (シミュレートされたソリューションのスクリーンショットを参照)。
4.[新しいテーブル] ダイアログ で [OK] をクリックすると、デザインにテーブルが追加されます。繰り返しテーブルはページソースの繰り返し要素に関連付けられる必要があります (下のスクリーンショット参照)。
5.繰り返し要素を繰り返しテーブルと関連付けるには、要素を [ページ ソース] ペインからドラッグしてテーブルにドロップします。
6.テーブルのセルにコンテンツを追加することができます。 XPath 式のためのコンテキストノードは動的テーブルに関連した要素ノードです (前のステップ参照)。 コンテキストノードを使用するには、 テーブルセル内の XPath 式はコンテキストノードに対して相対的であるべきです。 セルのコンテンツは (静的または動的な) ネストされたテーブル、または (データ ソース ノードへのリンクがある/ない) ページコントロール、またはページソースノードであることができます。ページソースノードがセルにドロップされると、そのセル内のデータは編集可能になります。下のスクリーンショットでは、(左から右に) 4 つのコントロールが追加されました : ラベル、編集フィールド、ラベル、編集フィールド。
テーブルのコンテキストメニュー で使用可能なコマンドを編成することができます。[テーブル フォーマット] プロパティ は [スタイル & プロパティ] ペイン で使用することができます。 以下も参照してください: 動的な行 および 動的な列。