我现在有一个SqlDataSource,我希望能够使用3 DropDownList进行过滤。基本上,每个DropDownList都包含表中某个列的值,因此当他们选择其中一个值时,SqlDataSource只显示相关列中具有该值的值。
所以我的表格有点像这样:
ID(主键)
ManufacturerID
ItemTypeID
UnitTypeID
3 DropDownList包含以下内容:
制造商(值= ManufacturerID)
ItemTypes(value = ItemTypeID)
UnitTypes(value = 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})
答案 0 :(得分:1)
您可以逐个添加过滤条件,如下所示:
//想法不是代码..
yourFilterExpression = "";
if (dropDownList1.SelectedValue != null)
filterExpression = // filter expression 1
if (dropDownList2.SelectedValue != null)
filterExpression += // filter expression 2
祝你好运!