コンボボックスまたはリストボックスへのデータのダイナミックな埋め込み

コンボボックスまたはリストボックスには、データソースの値をダイナミックに埋め込むことができます。

指定可能な値セットがあらかじめ決められており、変動しない場合は、フォームのデザイン時にその値セットをコンボボックスまたはリストボックスに埋め込むことができます。コンボボックスとリストボックスの使用を参照してください。値セットが変動する場合は、実行時にコンボボックスまたはリストボックスにデータソースの値をダイナミックに埋め込むことができます。値セットが大規模な場合は、値セットをデータソースに格納することにより、フォームをより柔軟に設定できるようになります。

例えば、データソースに格納されている国名リストをコンボボックスに埋め込むことができます。また、リストボックスにはフランス語の製品名が埋め込まれ、データソースには英語のデータ値が送信されるようにすることができます。

例えば、接続したスキーマで次のようにリストが定義されているとします。

<form> 
      <lists> 
         <item uiname="item1" token="value1"/> 
         <item uiname="item2" token="value2"/> 
      </lists> 
</form>

参照されるよう指定したデータファイルで次のようにリストが定義されているとします。

<form> 
      <lists> 
         <item uiname="MasterCard" token="MC"/> 
         <item uiname="Visa" token="VS"/> 
         <item uiname="Eurocard" token="EC"/> 
         <item uiname="Special Card" token="SC"/> 
      </lists> 
</form>

データファイルとフォームデザインを結合すると、リストにはオプションの 1 つとして「MasterCard」と表示されますが、フォームが送信されるときは「MC」というトークンがデータソースに送信されます。

OLEDB データ接続を使用している場合は、オブジェクトライブラリパレットのカスタムカテゴリにあるデータコンボボックスオブジェクトまたはデータリストボックスオブジェクトを使用して、コンボボックスまたはリストボックスにテーブルの列のデータを埋め込むことができます。OLEDB データ接続からコンボボックスまたはリストボックスへのデータのダイナミックな埋め込みを参照してください。

この作業を行う前に、次の条件を満たしていることを確認する必要があります。

  1. オブジェクトライブラリパレットで標準カテゴリをクリックし、コンボボックスまたはリストボックスをフォームデザインにドラッグします。

    ここでは、コンボボックスオブジェクトを挿入します。

  2. (オプション)オブジェクトパレットで「フィールド」タブをクリックし、「キャプション」ボックスにオブジェクトのキャプションを入力します。

    ここでは、「Credit Card」というキャプションを入力します。

  3. 次のいずれかの操作を行います。

    • オブジェクトパレットの「フィールド」タブで「項目リスト」アクティブなラベルをクリックします。

    • オブジェクトパレットの「連結」タブで「項目の値を指定」アクティブなラベルをクリックします。

    注意: 操作性を高めるため、「項目リスト」アクティブなラベルと「項目の値を指定」アクティブなラベルの両方について、同じダイナミックプロパティダイアログボックスが表示されます。
  4. データ接続を選択します。

    注意: データソースにまだ接続していない場合、データ接続リストで選択できるのは「デフォルトのデータ連結」のみです。
  5. 「アイテム」ボックスの横にある三角形をクリックして連結を選択します。

    コンボボックスまたはリストボックスに複数の項目が表示されるよう、繰り返しデータ値または繰り返しデータグループを選択します。

    例えば、lists/item を選択します。

    「アイテム」ボックスに次の文字列が表示されます。

    $record.lists.item[*]

    この文字列を選択する代わりに、「アイテム」ボックスにこの文字列を入力することもできます。
    注意: OLEDB データ接続を使用する場合、「アイテム」ボックスは使用できません。「項目テキスト」ボックスと「項目の値」ボックスを使用して、リストへのデータの埋め込みに使用するデータベースの列を選択します。
  6. 実行時にユーザーにわかりやすい項目名を表示するには、「項目テキスト」ボックスの横にある三角形をクリックして、連結を選択します。

    例えば、@uiname を選択して「MasterCard」と表示させます。

    参照されるよう指定したデータファイルで繰り返しデータ値を設定することもできます。

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    注意: #data を選択すると、コンボボックスに「Mastercard」と表示されます。
  7. (オプション)「項目テキスト」ボックスの値と異なる値をデータソースに保存するには、「項目の値」ボックスの横にある三角形をクリックして、連結を選択します。

    例えば、@token を選択して「MC」をデータファイルに保存します。

    参照されるよう指定したデータファイルで繰り返しデータ値を設定することもできます。

    <form> 
          <pymt> 
             <cc type="MC">MasterCard</cc> 
             <cc type="VS">Visa</cc> 
          </pymt> 
    </form>
    注意: #data を選択すると、コンボボックスに「MC」と表示されます。
  8. 「OK」をクリックします。

    連結が設定されると、アクティブなラベルに小さなリンクアイコンが表示されます。

  9. 「PDF プレビュー」タブでフォームを表示します。