テーブルプロパティ

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

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

テーブルプロパティ

特定のプロパティをテーブルのセル、列、行、およびテーブル全体に設定することができます。下左のスクリーンショットでは、 静的テーブル繰り返しテーブルのプロパティを表示しています。下右のスクリーンショットは動的なテーブルのプロパティを表示しています。 動的テーブルには、追加のテーブル行グループのプロパティのセットがあります。これらすべてのプロパティについては [コントロール | テーブル] のセクションで説明されています。

Click to expand/collapse     Click to expand/collapse

 

プロパティ: 繰り返し

繰り返し プロパティは、静的なテーブルを繰り返すために使用され、テーブルが 繰り返し または 静的 かを定義します。動的なテーブルに対しては、使用することができません。プロパティの値は、true または false です。

 

このプロパティの値は、繰り返し、または、静的なテーブルが作成される際に自動的に割り当てられます。 繰り返しテーブル には true繰り返し プロパティが、静的なテーブルには、 false  の 繰り返し プロパティがあります。テーブルが特定の型(繰り返し、または、静的) として作成されると、型はテーブルの 繰り返し プロパティの値を変更することによりおこなわれます。

 

プロパティ: 各アイテムのために作成

[各アイテムのための作成] プロパティはテーブル(繰り返しテーブル)およびテーブル行グループ (動的なテーブル)に対して使用することができます。 繰り返しテーブルまたは繰り返しテーブル行グループが何度作成されるか指定します。この数は、プロパティの XPath 式により返されたシーケンスのアイテムの数量と等しいです:

 

ページソース ツリーからのノード。これは繰り返しテーブル (またはテーブル行グループ) のノードをテーブルにドラッグ アンド ドロップして 関連付けられる、ページソースノードとの関連付けの代替です。 この種類の XPath 式は、ノードの選択に対して更なる柔軟性を与えます。例えば、 XPath式 $XML1/Offices/Office[@location='US'] は属性 @location='US' を持つ、Office ノードのシーケンスを返します。US フィルターは、テーブルに Office ノードをドロップする代替メソッドを使用して適用することができません。しかし、このフィルターは、 [各アイテムのために作成] プロパティで達成することができます。
ページソース ツリーに関連しないアイテム。例えば、 2014 年10月の月の場合、to  subsequence(age-details(xs:date("2014-01-01")), 2, 1) 式は、2014 年 01 月 01 日から 2014年 10 月 のある日付の間の月の数である 9 つのアイテムから成るシーケンスを返します。これは基本的な式が to X であるからです。そして X は、( subsequence 関数によると) age-details 関数により返された3つのアイテムのシーケンスの第2アイテムです。この後の関数が、入力の日時 (2014 年 01 月 01 日) に対応して、3つのアイテムのシーケンスの年、月、日として、 (2014 年 10 月の)現在の日付の年齢を (0 年 9 ヶ月 xx 日として) 返します。 3つのアイテムのシーケンスの第2番目のアイテムは、年齢内の月数で、この場合 9 です。返されたシーケンスは9つのアイテム(1 から 9 の範囲)を含み、テーブルは9回作成されます。

 

メモ:XPath 式の結果をプレビューしたい場合、 MobileTogether Designer に内蔵されたシミュレーション [プロジェクト | ワークフローのシミュレーション] を実行します。表示されたダイアログのをクリックして [XPath 評価] および [エバリュエーター] をクリックします。

 

行/列 の下のジョインとスパン

複数の行、または、複数の列をジョインするには、デザイン内でスパンする行または列を選択し、適切なジョインコマンドをコンテキストメニュー、テーブルメニュー、またはアプリケーションツールバーを使用します。  選択された行/列が、選択された行/列にジョインされます。 ジョインされた行または列は、それぞれ、(動的な行 または 列のために作成された)行グループまたは列グループ内に存在します。ジョインはグループの各インスタンス内で発生し、ジョインされた行/列は各グループ内で表示されます。

 

動的な列の場合、スパンと呼ばれる列のマージの型を使用することができます: デザイン内の列グループが1つまたは複数の列により構成されているかに関わらず、すべての列グループの列は、単一の列にスパンされます。これを行うには、([スタイル & プロパティ]ペイン 内にある ) 列グループのスパン プロパティを true にセットします。 このプロパティは true または false の値を取ります。デフォルトは、 false です。プロパティが true に設定されている場合、出力内では、列グループの全ての列はスパンされ、ひとつの列として表示されます。

 

下のテーブルは、2つの列から構成される列グループにより構成されるデザインを示しています。 列グループは 要素 ノード と関連付けられています。

 

繰り返し要素 ノード に対応するデザイン内の列グループ。スパンされていません。

 

デザイン内の列-1

デザイン内の列-2

 

出力内では、列グループの各インスタンスの ノード ために繰り返されます。この結果、 下に示されるように、各 ノード 要素のために2つの列が作成されます。

 

ノード[1]
列-1

ノード[1]
列-2

ノード[2]
列-1

ノード[2]
列-2

...

ノード[n]
列-1

ノード[n]
列-2

 

動的列グループがスパンされていると、列グループのスパン プロパティを true に設定すると、 デザイン内では両方の列がジョインされているような効果が与えられます (下のテーブル参照)。結果する列のプロパティとコンテンツは、最初の列になります。

 

繰り返し要素 ノード に対応するデザイン内の列グループ。スパンされています。

 

デザイン内の列-1 は、列-2 を計算します

 

出力では、列グループがノードの全てのインスタンスにスパンされます。この結果、下に示されるように、 ノード の全てのインスタンスのために1つの列が存在するようになります。 列のコンテンツが動的にノード 要素を検索する XPath 式 により選択された場合、エラーが返されます。

 

ノード[1 から n]
列-1 はノードのすべてのインスタンスをカバーするようにスパンします

 

動的な列がスパンされると、変換は以下の2つのステップで発生すると考えることができます: (i) ジョインコマンド が使用されたと同様、デザイン内で列グループ内の(静的を含む全ての型の)全ての列が1つの列にジョインされます。 (ii) 出力内では、繰り返し要素のインスタンスが単一の列として作成されます。(i) デザイン内でスパンされた動的な列内で検索された (ii) 出力列に対応するここの要素インスタンスを検索しようと試みた XPath 式はエラーを返します:

 

下のスクリーンショットは、行グループ内で作成された動的な列の簡単なサンプルを表示しています。 デザイン内の列グループには、 day 要素と関連付けられている単一の列グループが含まれており、 この列グループは、( day 要素の親であるページソース内の) week 要素に関連付けられている(繰り返し)テーブル内に存在します。 week 要素は繰り返されるため、各 week 要素のために新しいテーブルが作成されます。ページソース内で、 week 要素の day 子要素が複数存在する場合、デザイン内で列グループの動的な列はスパンされず、 (各 week のために) day 子要素内に存在する数と同時数の列を持つテーブルがこのデザインから生成されます。しかしながら、列グループのスパン プロパティを true に設定すると、生成されたテーブル内の列はスパンされ、テーブルには1つの列のみが存在するようになります。

MTDTablesDynamicColsExDes02

行グループ関しては、次を参照してください:動的な列.

 

列/行 可視性

列 または 行 の可視性は、 列または行を選択して、設定することができます。また、可視 プロパティを true または false に設定することができます。デフォルトの値は true です。

 

列または 行がスパンされている場合、スパンされている列/行の可視性は、もし最初の列/行の可視性が true に設定されている場合、個々に指定されることができます。 最初の列/行の可視性が false に設定されている場合、スパンされているすべての 列/行には false の値はが与えられます

MTDColumnRowVisibility

上のスクリーンショット: 最初の行内のスパンされた列(緑色):

 

行-1 (緑)内の3つのスパンされた 列は、列-1 と考えられます。行-1 内の次の列は、 列-4 と考えられます。 行-1 内には、 列-2 または 列-3 は存在しません。
行 2 と 5 からそれぞれ最初の3つの列を選択し、可視性を true/false に設定した場合、他の列の可視性は影響を受けません。
行-1 内の (スパンされた) 列-1 を選択し、可視性を true/false に設定した場合、 列-1 の可視性のみが変更されます。 (行 2 から 5 内の) 列-2 と 列-3 は影響されません。

 

 

上のスクリーンショット: 最初の列内のスパンされた行 (青色):

 

列-1 (青)内のスパンされた行は、行-4 と考えられます。列-1 内には、行-5 は存在しません。
列2 と 5 からをそれぞれ2つの行(行-4 または 行-5) を選択し 可視性を true/false に設定した場合、他の行は影響されません。
列 -1 内の (スパンされた)  行-4を選択し、可視性を true/false に設定した場合、 行-4 の可視性のみが変更されます。 (列 2 から 5 内の) 行-5 は影響されません。

 

スクロールすることのできるテーブル

テーブルが長く、幅が広い場合は、上下または左右にスクロールできるように設定する事ができます。このイベントでは、テーブルの一部のみが表示されます。残りはスクロールする事ができ、表示されません。

 

 

上下にスクロール

Maximal Table Height プロパティは、デバイス上でのテーブルの高さを、ピクセルまたはデバイスのスクリーンの高さに相対して指定します。 例えば、50% を選択すると、デバイスのスクリーンの高さの半分の高さのテーブルが表示されます(下の左端のイメージを参照してください)。 テーブルが上下に長く、割り当てられたスクリーンのスペースに入りきらない場合、テーブルには上下のスクロールバーが表示され、エンドユーザーはテーブルの残りを、割り当てられたスクリーンのスペースの内外でスクロールする事ができます。 (このサンプルではスクリーンの高さの 50% )。 テーブルの上でデザインコンポーネントが起こる場合、これら全てのコンポーネントはテーブルの上に表示されます。 テーブル自身は、このプロパティにより指定された絶対または相対的な高さを持ちます。

 

メモ:テーブルとページには個別のスクロールバーがあります (下のスクリーンショットのイメージを参照してください)。 MobileTogether Designer シミュレーターでは、スクロールホイールを使用して行下にスクロールし、クリックアンドドラッグを使用して左右にスクロールします。

 

メモ:Android 4.x デバイスでは、 2つ以上の (スクロールすることのできる、または、スクロールすることのできない) テーブルがページに存在する場合、1つのテーブルがスクロールすることのテーブルである場合、上下のスクロールを使用することはできません。

 

メモ:スクロールすることのできるテーブルのチュートリアル のサンプルを参照してください。

Click to expand/collapse

テーブルの高さの最大値 プロパティは(ピクセルまたはパーセントの値の他に)他の2つの値を取ることができます:

 

スクリーンの高さの残り (最大値): テーブルの高さは、ページの残りが表示されるようにできるだけ最小化されます。 上のイメージでは、右端のスクリーンは、このプロパティの値を与えられたテーブルを表示しています: テーブルの高さは、縮小されページの5つのコンポーネントがすべて表示されています。 この場合、ページを表示するため、ページのスクロールバーはゼロに縮小されています。
スクリーンの高さの残り (常に): このオプションによりスクリーンの高さ全体を使用して、ページを表示することができます。 テーブルにページを埋めるだけの上下の余白がない場合、追加スペースがテーブルの下に追加され、ページの最後のコンポーネントがスクリーンの下のすぐ上に表示されます。この設定によりページの最後のコンテンツをスクリーンの一番下の場所に配置することができます。

 

上下にスクロール プロパティは、テーブルの高さの最大値 プロパティのために値が設定されると使用することができます。 テーブル幅の最大値 は設定されません。 上下にスクロール プロパティは1つまたは2つの値をとることができます:

 

テーブル全体: テーブル全体は、テーブルの高さの最大値 プロパティを使用してテーブルに割り当てられたテーブルの高さをの内外をスクロールします。 テーブル全体 は、デフォルトの値です。
ヘッダーとフッターを除く行: テーブルのヘッダーとフッタはビュー内では固定されています。 テーブルのボディ行は残りのテーブルの高さ内でスクロールします。

 

繰り返し行グループがテーブル内に存在し、スクロールすることのできるテーブルのテーブルの高さの最大値のために値が設定されると行グループチャンクサイズ プロパティを使用することができるようになります。 これにより、1度にロードする行グループの数を指定することができます。ユーザーが下にスクロールし、最後にロードされたチャンクの最後の行グループに到達すると、次のチャンクがロードされます。このプロパティのデフォルトの値は存在しません。

 

左右にスクロール

テーブル幅の最大値 プロパティは、テーブルの幅: (i) ピクセル値で、 (ii)デバイスのスクリーン幅に相対するか、または (iii) 列のために最適化された値 (wrap_content) を指定します。 デフォルトは、 wrap_content です。プロパティのコンボボックスのドロップダウンリストから値を選択します。 テーブルの幅がスクリーンの幅よりも大きい場合は、テーブルは左右のスクロールバーで表示されます。

 

テーブルの境界線

テーブル メニューはテーブルの構造を編集する複数のコマンドを提供します。複数のプロパティは、スタイル & プロパティペイン内で設定することができます。 テーブルの境界線は便利に境界線設定ダイアログ内で設定することができます (「テーブル | 境界線の設定」)。

 

 


(C) 2019 Altova GmbH