このレッスンでは、パラメーター化されたクエリを画面で使用して、データをフィルター処理する方法を学びます。
パラメーター クエリの使用
最後のレッスンでは、[CategoryID] パラメーターに基づいて製品をフィルターするクエリを作成しました。実行時にこのパラメーターを使用して、[CategoryID] フィールドを含む別のエンティティにフィルターを適用することができます。たとえば、画面上の一覧で選択した製品のカテゴリに一致する製品の一覧を表示するには、パラメーター化されたクエリを使用できます。
パラメーターの値は、デザイン時またはユーザーによって実行時に、画面デザイナーのプロパティとして指定できます。この例では、デザイン時に値を割り当てます。
画面にパラメーター クエリを追加するには
ソリューション エクスプローラーで、CurrentProductList 画面ノードをダブルクリックします。
画面デザイナーで、[データ項目の追加] ツール バー ボタンをクリックします。
[データ項目の追加] ダイアログ ボックスが表示されます。
[データ項目の追加] ダイアログ ボックスで [クエリ] をクリックします。
[名前] 列で、[NorthwindEntitiesData.ProductsByCategory] を選択して、[OK] をクリックします。
[ProductsByCategoryCollection] ノードは、左側のペインに追加されます。
[クエリ パラメーター] ノードで、[CategoryID] を選択します。
[プロパティ] ウィンドウで、[パラメーター バインディング] を選択し、「CurrentProducts.SelectedItem.Category.CategoryID」と入力します。
画面デザイナーで、[行レイアウト | 詳細列] ノードを選択します。
[追加] をクリックして、ドロップダウン リストから [ProductsByCategory] を選択します。
新しい [DataGrid | ProductsByCategory] ノードが画面コンテンツ ツリーに表示されます。
F5 キーを押してアプリケーションを実行し、結果を確認します。
[CurrentProductList] 画面を開くと、現在選択されている製品と同じ [CategoryID] を持つすべての製品が新しいグリッドに表示されます。
よく見る
この手順では、最後のレッスンで作成したパラメーター化されたクエリを使用して、製品の一覧を表示しました。クエリは既存の画面である CurrentProductList 画面に追加されました。クエリの [パラメーター値] プロパティは、画面にある既存の [ProductCollection] の [CategoryID] 値を指定し、実行時にパラメーターを提供します。その結果、[ProductCollection] リストで製品が選択されるたびに、一致する [CategoryID] を持つ製品の一覧が表示されます。
次の手順
次の一連のレッスンでは、メニューとコマンドを使用する方法を学習します。
次のレッスン: メニューとコマンドの作成