動的な行

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

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

動的な行

動的な行は、以下のように作動します:

 

動的な行は、ページソース内の繰り返し要素と関連付けられています。
テーブルが表示されると、行数は、繰り返し要素の発生数と動的に一致します。各テーブル行は繰り返し要素の発生と対応します。
動的な行を定義すると、各要素の発生のために繰り返される行数を指定することができます。ですから、2つの行を含む各動的な (または繰り返し) 行グループを指定することができます。この場合、2つの行の行グループが各要素の発生のために生成されます。
動的な行 (または 行グループ)のためのコンテキストノードは、特定の要素の発生になります。
エンドユーザーが新規の行を追加、または、削除することを有効化する追加/削除 コントロールを追加することができます。例えば、ユーザーが行を追加すると、ページソースのツリーに行要素に関連した新規の発生が追加されます。これらの変更は、データソースに保存することができ、エンドユーザーはデータソースを変更することができます。

 

テーブルコントロール がデザインにドロップされると動的な行が存在するテーブルを定義することができます。

 

サンプル

ページソース内の Person 要素には繰り返し構成 (例えば、 First、Last、と Phone 要素) が含まれます。 Person 要素 は複数回発生することができます。動的な行 (すなわち、 行グループ) が Person 要素と関連付けられていると、 Person 要素内で存在する数と同様の数の行(グループ)が存在するテーブルが生成されます(下のテーブル参照)。ページソース内の Person 要素の数量が変更されると、 テーブル内の行数も自動的に変更されます。

 

 

<First>

<Last>

<Phone>

<Person>

 

 

 

<Person>

 

 

 

<Person>

 

 

 

 

下のスクリーンショット内のデザインには、単一の 動的な行 (グループ)を含むテーブルが表示されています。 行グループは Person 要素に関連付けられており、1つの行と4つの列により構成されています。

MTDTablesDynamicRowsDes02

行グループと関連付けられている要素の発生のために、行グループ全体が生成されます。 行グループ内の XPath 式は、コンテキストノードとしての関連付けられた要素の現在の発生により解決されます。

 

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

 

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

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

 

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

 

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

 

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

 

繰り返しテーブル動的な行が存在するテーブル に変換するには、動的な行に変換するテーブル行を右クリックし、「動的な または繰り返し テーブル | この 行を繰り返し行に変換する」を選択します。

 

動的な行が存在するテーブルの作成

動的な行が存在するテーブルを以下のようにセットアップします:

 

1.新しいテーブルダイアログ内では、コントロールがドロップされると、テーブルの繰り返しのチェックが解除されていることを確認してください(下の酢rクリーンショット)。 そして、 動的な行数を選択します。 動的なテーブル行グループを含むテーブルが作成されます。

Click to expand/collapse

2.テーブル内の列数と行グループの行数を指定します (行グループは行により構成されています)。また、テーブルにヘッダー および/またはフッターが存在するかを指定することもできます。
3.自動コントロールの追加/削除を指定することができます。追加されると、ソリューション内の各繰り返し行に削除ボタンが追加され、テーブルには行を追加する追加ボタンが追加されます (シミュレートされたソリューションのスクリーンショットを参照してください)。

MTDTableDynamicAppendDeleteCtrls

4.新しいテーブルダイアログ内で、 OK をクリックすると、テーブルがデザインに追加されます。
5.行グループはデータソースからの繰り返し要素に関連付けられている必要があります。行グループを繰り返し要素に関連付けるには、ページソースペインから要素をドラッグして、テーブルにドロップします。この要素の各発生はテーブル内に行 (グループ)を生成します。 現在の発生は指揮グループ内の XPath 式のコンテキストノードとなります。
6.テーブルのセルにコンテンツを追加することができるようになります。テーブルセル内の XPath 式のためのコンテキストノードは動的な行に関連付けられた要素ノードです (前のステップを参照してください)。コンテキストノードを使用するには、 in テーブル内の XPath 式セルはコンテキストノードに対して相対的である必要があります。セルのコンテンツはネスとされた(静的な または 動的な)テーブル、または、( ページソースノードにリンクを有する、または、有さない)ページコントロール、または ページソースノードであることができます。ページソースノードがセルにドロップされると、そのセル内のデータを編集することができます。 下のスクリーンショットでは、4つのコントロール((左から右): ラベル、編集フィールド、ラベル、編集フィールド)が追加されている状態が表示されていま。

MTDTableDynamic02
 
この動的な行は、 MobileTogether ソリューション。内で次の構造を作成します。
 
MTDTableDynamicAppendDeleteCtrls

動的な列のスパンに関しては、次を参照してください: 行/列のジョインとスパン。

 

テーブルの再構成コマンドは、テーブルのコンテキストメニュー内で使用することができます。 テーブルフォーマットプロパティ は、 [スタイル & プロパティ]ペイン 内で使用することができます。繰り返しテーブル動的な列を参照してください。

 


(C) 2019 Altova GmbH