Фильтрация SqlDataSource с несколькими выпадающими списками - PullRequest
0 голосов
/ 04 февраля 2011

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

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

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

ManufacturerID

ItemTypeID

UnitTypeID

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

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

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

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

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

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 Ответ

1 голос
/ 04 февраля 2011

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

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

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

Удачи!

...