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 データ ソースにバインドします。