2011-02-04 13 views
0

現在、私は3つのDropDownListを使用してフィルタリングできるようにするSqlDataSourceを持っています。基本的に、各DropDownListにはテーブルの特定の列の値が含まれているため、値のいずれかを選択すると、SqlDataSourceはその列にその値を持つ値のみを表示します。複数のドロップダウンリストを持つSqlDataSourceのフィルタリング

だから私のテーブルには、多少、このようなものです:

ID(主キー)

ManufacturerID

はUnitTypeID

とのが含まれている3つのDropDownListコントロールを

をItemTypeID以下:

メーカー(値= ManufacturerID)

ItemTypes(値= ItemTypeID)

UnitTypes(値= UnitTypeID)

データソースのマイフィルタ式は、次のように現在あるが、すべての3つのボックスに値が選択されていないと動作しないように見えますが、これは理想的ではありません。どんなアイディアですか?私filterexpressionは以下の通りです:

ItemTypeID = {0} OR ManufacturerID = {1} OR UnitTypeID = {2} OR (ItemTypeID = {0} AND ManufacturerID = {1}) OR (ItemTypeID = {1} AND UnitTypeID = {2}) OR (ManufacturerID = {1} AND UnitTypeID = {2}) OR (ItemTypeID = {0} AND ManufacturerID = {1} AND UnitTypeID = {2}) 

答えて

1

あなたは、次のように一つ一つにフィルタ条件を追加することができます。

//アイデアではないコード..

yourFilterExpression = ""; 
if (dropDownList1.SelectedValue != null) 
filterExpression = // filter expression 1 
if (dropDownList2.SelectedValue != null) 
filterExpression += // filter expression 2 

幸運!

+0

ありがとうございました - 私はその方法を使用しましたが、今は素晴らしいです – Chris

+0

あなたは歓迎です:) – Homam

関連する問題