Page History
...
- [ウェブレット テンプレート]タブをクリックし、上にあるドロップダウン・リストから[標準ウェブレット]を選択、[動的選択ボックス]ウェブレットを探します。
- 動的選択ボックス ウェブレットを、値を格納するフィールド上にドラッグし、マウスの左ボタンを離してください。
- ウェブレットをクリックして、[詳細] タブを確認します。[vf_wamevent] プロパティと [value] プロパティにウェブレットをドラッグしたフィールドを示す値が設定されていることを確認してください。Webページ表示の際、valueプロパティのフィールドに現在入っている値を使用して選択されたエントリーが設定されます。このウェブレットの値が変更されると、適切な値がnameプロパティに指定されたフィールド(この場合、同じフィールド)に入れられます。
- listnameプロパティをWEB_MAPに送られる作業リストに変更します。
- codefieldプロパティとcaptionfieldプロパティに作業リストの適切なフィールドをセットします。
- sizeプロパティにリストボックスの希望の高さを行数で設定します。(1を設定するとドロップダウンとして表示されます。)
...
- [ウェブレット テンプレート]タブをクリックし、上にあるドロップダウン・リストから[標準ウェブレット]を選択、[動的選択ボックス]ウェブレットを探します。
- 動的選択ボックス ウェブレットを、値を格納するフィールド上にドラッグし、マウスの左ボタンを離してください。
- ウェブレットをクリックして、[詳細]タブを確認します。[vf_wamevent] プロパティと [value] プロパティにウェブレットをドラッグしたフィールドを示す値が設定されていることを確認してください。Webページ表示の際、valueプロパティのフィールドに現在入っている値を使用して選択されたエントリーが設定されます。このウェブレットの値が変更されると、適切な値がnameプロパティに指定されたフィールド(この場合、同じフィールド)に入れられます。
- itemsプロパティの省略記号(...)のボタンを選択して、ドロップダウン・オプションとして使用する項目のリストを設定します。そしてドロップダウンに必要なエントリーの定義に進みます。
...
動的選択ボックスは別のフィールドをモニターし、そのフィールドが更新される度に自身も自動的に更新することができます。ウェブレットが作業リストを使って埋められた場合、新しい作業リストのコピーを出力するJSON Webroutineを作成する必要があります。ウェブレットは更新が必要な場合に毎回このWebroutineを呼び出します。
- updateOnFieldChangeにモニターしたいフィールドのIDを設定します。通常はフィールド名ですが、Changeイベントを生成できるHTMLフォーム・エレメントのIDにすることもできます。このフィールドは新しいリストを提供するWebroutineに送られます。 にモニターしたいフィールドのIDを設定します。通常はフィールド名ですが、Changeイベントを生成できるHTMLフォーム・エレメントのIDにすることもできます。このフィールドは新しいリストを提供するWebroutineに送られます。
- updateWamNameと と updateWrNameプロパティに新しいリストを提供するWAM プロパティに新しいリストを提供するWAM/Webroutineの名前を指定します。このWebroutineではlistnameプロパティで定義されたリストの新しいコピーを出力しなければなりません。
- updateFieldsToSubmitプロパティを設定して、更新Webroutineに送信する入力値が識別できるようにします。
リスト更新には、更新Webroutineを必ず使用しなければならない訳ではありません。多くの単純なケースでは、メインのWebroutineの最初のリスト出力で可能な全ての値をウェブレットに提供して、selectorFieldを使ってリストをフィルターすることも可能です。サーバーに要求を送信してその応答を待つのを避けるため、ウェブレットには最初のリストが記憶されており、更新が行われる時にselectorFieldフィルターを再度適用できます。 を使ってリストをフィルターすることも可能です。サーバーに要求を送信してその応答を待つのを避けるため、ウェブレットには最初のリストが記憶されており、更新が行われる時にselectorFieldフィルターを再度適用できます。
例えば、updateOnFieldChangeと と selectorValueFieldプロパティの両方で同じフィールドが指定されている場合、ユーザーがこのフィールドを変更する度に再びフィルターされます。 プロパティの両方で同じフィールドが指定されている場合、ユーザーがこのフィールドを変更する度に再びフィルターされます。
いずれのアプローチを取るかはバランスを考えて決定します。selectorFieldを使用することにより、より速くリスト更新ができますが、より多くのデータをブラウザに送信しないといけないため、最初のページのロードに時間がかかる可能性があります。一方で更新Webroutineの使用により、最初のロード時間は短くなり、リアルタイムの最新データ取得が可能になったり、リスト構造により複雑なロジックを含めることが可能になりますが、リストがサーバーから取り出される間に遅延が生じる場合があります。