繰り返しテーブル

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  デザインオブジェクト/機能 > テーブル >

繰り返しテーブル

繰り返しテーブルは以下のように作動します:

 

ページソース内の繰り返し要素は、繰り返しテーブルと関連付けられています。 (下のサンプルを参照してください).
テーブルに含むことのできる行と列の数量に制限はありません。
繰り返し要素の発生の都度、 デザインしたテーブルは繰り返されます。ですから、テーブルデザインに2つの行が含まれている場合、繰り返し要素が発生する都度、2つの行を含むテーブルが作成されます。
テーブルのコンテンツは、動的であることができます。テーブル内のは、 XPath 式には、コンテキストノードとして関連付けられた繰り返し要素が存在します。 要素が発生する都度、特定の発生はその特定のテーブルのためのコンテキストノードとなります (下のサンプルを参照してください)。
追加/削除コントロールをエンドユーザーが新規の行を追加して、ここの行を削除することを有効化するテーブルに追加することができます。 例えば、ユーザーが行を追加すると、関連付けられたテーブル要素の新規の発生がページソースのツリーに追加されます。 これらの変更は、データソースに保存され、ユーザーがデータソースを変更することを有効化します。

 

繰り返しテーブルは、 テーブルコントロール がデザインにドロップされるときに定義されます。

 

サンプル

ページソース内の Person 要素には、 FirstLast、 および Phone 子要素が含まれています。 Person 要素は(インスタンス内で)複数回発生することができます。以下のようなテーブルを作成すると想定します:

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

Person 要素 は繰り返されるため、Person 要素と関連付けられた繰り返しテーブルを作成し指定することができます。新しいテーブルダイアログ内にはテーブルには1つの行と4つの列を持つテーブルが作成されます (下を参照)。このテーブルコンテキストノードは、 Person です。各列内でページソースリンクを子ノードに相対的にすることができます (下のスクリーンショット参照)。 Person 要素に番号を付ける XPath 式が最初の列に含まれます 例: count(preceding-sibling::*)+1。 デザインは、以下のようになります:

MTDTablesDynamicRowsDes01

生成されたテーブルは、以下のようになります:

MTDTablesDynamicRowsSim01

メモ:XPath/XQuery 式によりデータストリームを生成することができ、データソースとして使用することができます。しかしながら、この種のデータソースは、現在で使用するために作成され、ドキュメントの他の箇所で使用するためのページソースとしてはアクセスすることはできません。

 

繰り返しテーブルと動的な行が存在するテーブルの違い

繰り返しテーブル動的行の存在するテーブル と以下の点で異なります:

 

繰り返しテーブルでは、繰り返しデータ構造とテーブル全体が関連付けられています。新規のテーブルは、発生する都度作成されます。
動的行の存在するテーブルでは、繰り返し構造とテーブル行グループが関連付けられている。

 

この差異はデザインに以下の2つの影響を与えます:

 

動的行の存在するテーブル は、テーブル全体に対して適用することのできるヘッダー および/または フッターを持つことができます。 これはテーブルのための ヘッダー/フッターです。 ヘッダー/フッターが 繰り返しテーブル のために必要な場合、繰り返しテーブルの外部に手動で追加することができます。繰り返しテーブル 内に追加された場合、これらは各要素が発生する都度、繰り返されます。
テーブルは通常デバイス上で上下にスペースが加えられて表示されます。 繰り返しテーブル は、繰り返されたテーブルのペアの間に上下のスペースが加えられ表示されます。

 

テーブルが作成された後、静的テーブルを繰り返しテーブルに変更するには、 繰り返しプロパティ を true に変更します。そして、テーブルをページソースからの繰り返し要素と関連付けます。

 

繰り返しテーブルの作成

繰り返しテーブルを次のようにセットアップします:

 

1.テーブルコントロールがデザインにドロップされた時に表示される [新しいテーブル] ダイアログ で [テーブルの繰り返し] をチェックしてテーブルを繰り返します (下のスクリーンショット)。 繰り返しデータの行の全てのインスタンスに対してテーブルが繰り返されることに注意してください。

Click to expand/collapse

2.繰り返しテーブルの持つ静的な列と行の数量を指定します。テーブルのコンテキスト メニューを使用して後から列と行を繰り返しテーブルに追加することができます。
3.自動追加/削除 コントロールが追加されるか指定します。追加されると、ソリューションの各繰り返しテーブルは、[削除] ボタン を、繰り返しテーブル構造全体は、構造に繰り返しテーブル(行)を追加する [追加] ボタンを持ちます (シミュレートされたソリューションのスクリーンショットを参照)。

MTDDBCSimulator01Cropped

4.[新しいテーブル] ダイアログ で [OK] をクリックすると、デザインにテーブルが追加されます。繰り返しテーブルはページソースの繰り返し要素に関連付けられる必要があります (下のスクリーンショット参照)。

MTDTablesDynamic01

5.繰り返し要素を繰り返しテーブルと関連付けるには、要素を [ページ ソース] ペインからドラッグしてテーブルにドロップします。
6.テーブルのセルにコンテンツを追加することができます。 XPath 式のためのコンテキストノードは動的テーブルに関連した要素ノードです (前のステップ参照)。 コンテキストノードを使用するには、 テーブルセル内の XPath 式はコンテキストノードに対して相対的であるべきです。 セルのコンテンツは (静的または動的な) ネストされたテーブル、または (データ ソース ノードへのリンクがある/ない) ページコントロール、またはページソースノードであることができます。ページソースノードがセルにドロップされると、そのセル内のデータは編集可能になります。下のスクリーンショットでは、(左から右に) 4 つのコントロールが追加されました  : ラベル、編集フィールド、ラベル、編集フィールド。

MTDDBCTableRepeating02
 
この繰り返しテーブルは次の繰り返し構造を MobileTogether ソリューション内に作成します。
 
MTDDBCSimulator01Cropped

テーブルのコンテキストメニュー で使用可能なコマンドを編成することができます。[テーブル フォーマット] プロパティ[スタイル & プロパティ] ペイン で使用することができます。 以下も参照してください: 動的な行 および 動的な列

 


(C) 2019 Altova GmbH