次の例では従業員リスト内の部門のカラムにコンボ・ボックスを追加します。#DEPTMENTカラムを含む#EMPLISTと呼ばれる従業員リストと#DEPTMENTと#DEPTDESCを含む#DEPTSとよばれる部門リストがあります。
- グリッドをWebroutineの[デザイン]に追加し、listnameプロパティにEMPLISTを設定します。
- grid_col_propertiesプロパティを修正し、DEPTMENTカラムで[カラムのカスタマイズ]オプションを選択します。
- コンボ・ボックス・ウェブレットをDEPTMENTカラムの最初のヘッダー以外のセルにドラッグしてください。
- ドロップダウンのlistnameプロパティにDEPTSを設定します。
- codefieldプロパティにDEPTMENTを、captionfieldプロパティにDEPTDESCを設定します。グリッドは、以下のようになります。これで、on_changeアクションがコンボ・ボックスに追加され、値が変更されるとWebroutineが実行されます。UpdateDepartmentWebroutineには2つの入力があります。EMPNOとDEPTMENTです。
valueプロパティにシングル・ピリオド(.)が含まれていることに注意してください。これはコンボ・ボックスの値がEMPLISTリストの現在のカラム値であるべきことを示しています。
また、display_modeプロパティには$tsml_col_modeが設定されていることにも注目してください。これは特別なXSLT変数で、グリッドの中でDEF_LISTに定義された表示モードを示すために使用されます。 - コンボ・ボックスのon_change_wrnameプロパティにUpdateDepartmentを設定します。
- コンボ・ボックスのtagfield1プロパティにDEPTMENTを設定します。これはDEPTMENTカラム(DEPTSリスト内の)で選択された値を実行するようコンボ・ボックスに指示します。
- コンボ・ボックスのreentryfieldプロパティにEMPNOを設定し、reentryvalueプロパティに../lxml:column[@name='EMPNO']を設定します。これはXPath式ですので、値を入力する際は[詳細]タブの下部にあるXPathエントリー・エリアを使用する必要があります。これはグリッドのEMPNOコラムの値を取得し、EMPNOという名前のフィールドに送るようコンボ・ボックスに指示します。
