WebDropDown1.DataSource = SqlDataSource1 WebDropDown1.TextField = "ProductName" WebDropDown1.DataBind()
WebDropDown™ は遅延ロード機能をサポートします。この機能によってエンドユーザーがドロップダウン コンテナを開こうとする時、または値表示に入力しようとする時にデータを WebDropDown コントロールに提供することができます。この機能はアプリケーションのパフォーマンスを大幅に向上しますが、特にページに多数の WebDropDown コントロールがある時にパフォーマンスを向上します。
Visual Studio™ ツールボックスから、ScriptManager コンポーネント、WebDropDown コントロールおよび SqlDataSource コンポーネントをフォームにドラッグ アンド ドロップします。
Northwind データベースの Products テーブルを取得するために SqlDataSource を構成します。
WebDropDown が SqlDataSource にバインドするように、WebDropDown コントロールの ItemsRequested サーバー側イベントに以下のコードを追加します:
Visual Basic の場合:
WebDropDown1.DataSource = SqlDataSource1 WebDropDown1.TextField = "ProductName" WebDropDown1.DataBind()
C# の場合:
WebDropDown1.DataSource = SqlDataSource1; WebDropDown1.TextField = "ProductName"; WebDropDown1.DataBind();
注: TextField プロパティは WebDropDown コントロールに表示したい列名に設定する必要があります。
WebDropDown コントロールの ValueChanging および DropDownOpening クライアント側イベントを実装するために以下のコードを Page Load に追加します:
Visual Basic の場合:
WebDropDown1.ClientEvents.DropDownOpening = "WebDropDown_DropDownOpening" WebDropDown1.ClientEvents.ValueChanging = "WebDropDown_ValueChanging"
C# の場合:
WebDropDown1.ClientEvents.DropDownOpening = "WebDropDown_DropDownOpening"; WebDropDown1.ClientEvents.ValueChanging = "WebDropDown_ValueChanging";
JavaScript の場合:
// クライアント イベント 'DropDownOpening' は 2 つのパラメーター sender と e を取得します // sender はイベントを発生させているオブジェクトです // e は DropDownContainerEventArgs です function WebDropDown_DropDownOpening(sender, e) { // WebDropDown コントロールへの参照を取得します var wdd = $find("WebDropDown1"); wdd.loadItems(); } // クライアント イベント 'ValueChanging' は 2 つのパラメーター sender と e を取得します // sender はイベントを発生させているオブジェクトです // e は DropDownEditEventArgs です function WebDropDown_ValueChanging(sender, e) { // WebDropDown コントロールへの参照を取得します var wdd = $find("WebDropDown1"); wdd.loadItems(); }
上記のコードで、エンドユーザーがドロップダウン ボタンをクリックした時に常に、DropDownOpening クライアント側イベントの loadItems メソッドは ItemsRequested サーバー側イベントを発生させます。同様に、エンドユーザーが値表示に入力を開始した時に ValueChanging クライアント側イベントの loadItems メソッドは ItemsRequested サーバー側イベントを発生させます。ItemsRequested イベントが発生すると直ぐに WebDropDown コントロールは Sql データ ソースにバインドします。