2012-02-07 6 views
0

MS SQL DBにリンクしているVBコード付きのASP.net Webページがあります。 Webページには、4つのDropDownListsと1つのGridViewがあります。各DDLには、DB内の1つのテーブルから4つの対応する列に対してSELECT DISTINCTクエリが設定されます。複数のDropDownListsを使用して互いにフィルタリングし、次にGridViewアイテムを使用する - ASP.net VB

私ができることを望むのは、DDLのいずれかが選択された項目を変更したときに、他のDDLが更新されることです。粗い例:

DDL1にはファーストネームのリストがあり、DDL2にはラストネームのリストがあります。誰かがDDL1から名前を選択すると、DDL2は対応するファーストネームの人に属するラストネームのみを表示するように更新され、その逆もあります。

ユーザーがフィルタ条件を選択すると、「送信」ボタンを押してGridViewに結果リストを表示できます。

誰かが1 DDLまたはすべてのDLLまたはその間の任意の組み合わせでフィルタリングできるという考えがあります。

初心者ですが、IF文を使用した初期の試みは、それぞれのDDLで必要とされる '論理'の量が指数関数的に増加したため失敗しました。

私は必要なだけ正確にやることのできない半関連性のある資料しか見つけられませんでしたが、これはできるだけ便利なように思えます。

ありがとうございます。

答えて

0

else文は、あなたがの結合を介してそれを行うことができれば使用して、いくつかのサンプルやチュートリアルhttp://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx

があります。このためにelse文場合は使用することができますまたはあなたがここにAJAX を使用してカスケードドロップダウンを使用することができ、** SQLコマンドを使用するようにしてくださいWHERE ** とGridView内の複数のためDropDownList秒以下のリンクを参照してくださいDDL2

+0

if elseを使用する際の問題は、DDL選択の可能な組み合わせをすべてカバーするためにたくさんのものが必要になることです。上記の私の原始的な例は2つのDLLしか持たず、ifステートメントを各DDLのonselectedchangeイベントに置くことによって、表示するものを制御するのは簡単です。しかし、DDLを追加すると、if文の数と複雑さが大きくなります。 – Ryan

関連する問題