複数の場所に同じデータを表示するための方法はいくつかあります。
-
複数のフィールドをグローバルフィールドに設定して、インタラクティブに入力された同じデータを表示します。
-
複数のフィールドを 1 つのノードに連結して、フィールドにあるデータソースから同じデータを表示します。
-
スクリプトを使用して、1 つのフィールドに入力されたデータを別のフィールドに表示します。
次の表で、グローバルフィールドを使用した方法、複数のフィールドを 1 つのノードに連結する方法、スクリプトを使用して 1 つのフィールドに入力されたデータを別のフィールドに表示する方法を比較します。
比較内容
|
グローバルフィールド
|
綴じ方
|
スクリプト
|
結果
|
Designer では、同じ名前を持つすべてのフィールドに同じデータが表示されます。
|
Designer では、同じ連結のすべてのフィールドに同じデータが表示されます。
|
Designer では、1 つのフィールドに入力されたデータが別のフィールドに表示されます。
|
フィールドの名前
|
フィールド名はすべて同じです。
|
フィールド名が異なる場合があります。
|
フィールド名が異なる場合があります。
|
実行時のプロパティ(現在のページ、ページ数、現在の日時など)
|
フィールドに実行時のプロパティを追加することはできません。
|
フィールドに実行時のプロパティを追加することはできません。
|
フィールドに実行時のプロパティを追加することができます。
|
削除する場合
|
1 つのフィールドからグローバル設定を削除すると、Designer では、同じ名前の他のすべてのフィールドからもその設定が削除されます。
|
1 つのフィールドから連結を削除しても、他のフィールドの連結は保持されます。
|
該当なし
|
ノードの参照
|
グローバルフィールドは、現在のレコードの外にあるノードを参照します。
|
明示的なデータ連結は、現在のレコードにあるノードを参照します。
|
該当なし
|
使用例
|
顧客名や住所など、フォームで繰り返し使用される情報に使用します。ユーザーが 1 度情報を入力すると、グローバルに設定されている他のフィールドにデータが自動入力されます。
|
複数のフィールドに表示されたデータソースにあるデータのインスタンスを 1 つ扱う場合に使用します。
|
1 ページ目の担当者の名前に入力したデータをコピーして、2 ページ目の定型レターで表示する場合に使用します。
|
次の図では、複数のフィールドをグローバルフィールドに設定するとどうなるかを示しています。1 ページ目で名前や住所をユーザーが入力すると、2 ページ目の名前や住所にも入力されます。
次の図では、複数のフィールドを 1 つのノードに連結するとどうなるかを示しています。名前と住所にデータソースの内容を入力します。
次の図では、1 つのフィールドに入力されたデータを別のフィールドに表示させるスクリプトを使用するとどうなるかを示しています。定型レターの ContactName は、1 ページ目の名前フィールドに入力された名前と同じです。
1 つのノードへの複数のフィールドの連結
次のいずれかの操作により、複数のフィールドを 1 つのノードに連結することができます。
データのインスタンスに複数のフィールドを連結します。繰り返しデータを複数のフィールドに連結することはできません。
-
データ表示パレットで適切なノードを選択し、ページ上のフィールドにドラッグします。
-
連結プロパティダイアログボックスで、次のいずれかのオプションを選択します。
-
「OK」をクリックします。オブジェクトのプロパティを更新する場合、しない場合のいずれも、これでフォームオブジェクトがデータソースに連結されます。
-
手順 1 のノードと同じノードを選択して、同じノードに連結する他のフィールドで手順 2 と 3 を繰り返します。
スクリプトを使用して特定のフィールドに入力されたデータを別のフィールドに表示
スクリプトを使用して、1 つのフィールドに入力されたデータを別のフィールドで表示することができます。ユーザーのアクションに反応してトリガーされる特定のフィールドに関するイベントでこのスクリプトを実行します。
例えば、インタラクティブフォームではユーザーに部署名を入力するように求めます。この部署名はフォームの後続のページで表示される場合があります(複数ページのインタラクティブフォームの場合)。部署名のフィールドがデータフィールドに連結されます。部署名はこのデータフィールドに記録されます。部署名を他のページに表示するには、入力フィールドのコンテンツを他のページに表示するようにする必要があります。他のインスタンスを編集可能にする必要はありません。これらのインスタンスが、別のフィールドの構成要素である場合があります(フローティングフィールドなど)。この場合には、スクリプトを使用して部署名を他のフィールドにコピーします。
-
最初のフィールドを選択します。
-
まだスクリプトエディターが表示されていない場合は、ウィンドウ/スクリプトエディターを選択します。
-
(オプション)パレットの境界にある拡張ボタンをクリックして、パレットを大きくします。
-
イベントリストからフィールドに関するイベントを選択します。
例えば、イベントリストから「exit」を選択します。
-
言語リストから「JavaScript」、実行位置リストから「クライアント」を選択します。
-
スクリプト編集フィールドに、スクリプトを入力します。
例えば、次のスクリプトを入力します。
ContactName.rawValue = this.rawValue;
ContactName はオブジェクトパレットの「フィールド」タブにある 2 番目のフィールドの名前です。
-
2 番目のフィールドを選択します。
-
オブジェクトパレットで、「値」タブをクリックし、種類リストで「計算済み - 読み取り専用」を選択します。
スクリプティングについて詳しくは、『
スクリプティング基礎
』を参照してください。
|
|
|