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