2011-02-04 155 views
0

我有一個SqlDataSource的時刻,我希望能夠使用3 DropDownList的過濾。基本上,每個DropDownList都包含表中特定列的值,因此當他們選擇其中一個值時,SqlDataSource僅在相關列中顯示具有該值的值。過濾SqlDataSource與多個下拉列表

所以我的表是有點像這樣:

ID(主鍵)

ManufacturerID

ItemTypeID

UnitTypeID

而且3次DropDownList的含有以下:

製造商(值= 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 2011-02-07 10:19:00