Фильтрация SqlDataSource с несколькими раскрывающимися списками

На данный момент у меня есть SqlDataSource, который я хочу фильтровать с помощью 3 DropDownList. По сути, каждый DropDownList содержит значения для определенного столбца в таблице, поэтому, когда они выбирают одно из значений, SqlDataSource показывает только значения с этим значением в соответствующем столбце.

Итак, моя таблица выглядит примерно так:

ID (первичный ключ)

ID производителя

Идентификатор типа элемента

UnitTypeID

И 3 DropDownList содержат следующее:

Производители (значение = ManufacturerID)

ItemTypes (значение = ItemTypeID)

UnitTypes (значение = UnitTypeID)

Мое выражение фильтра для источника данных в настоящее время похоже на это, но, похоже, оно не работает, если во всех трех полях не выбрано значение, что не идеально. Есть идеи, ребята? Мое выражение фильтра ниже:

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})

person Chris    schedule 04.02.2011    source источник


Ответы (1)


Вы можете добавить критерии фильтра один за другим, как показано ниже:

// Идея, а не код..

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

Удачи!

person Homam    schedule 04.02.2011