powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Фильтрация данных
12 сообщений из 12, страница 1 из 1
Фильтрация данных
    #34937030
ram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ram
Гость
Есть источник данных:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<asp:SqlDataSource ID="SqlDataSource1" 
 runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
  EnableCaching="True" 
  SelectCommand="SELECT [au_id],[au_lname],[au_fname] FROM [authors]" 
  FilterExpression="au_id>={0}"> 
    <FilterParameters>
      <asp:ControlParameter ControlID="ddlCategoryID" 
         Name="au_id" PropertyName="Text"
         Type="String" />
  </FilterParameters>
Для него есть фозможность фильтровать данные из Dropdownlist, в который еще программно добавлено значение "Все категории" и это значение устанавливается при загрузке страницы:
Код: plaintext
1.
2.
3.
            ddlCategoryID.Items.Add("Все категории")   ''Добавим к списку еще и все
            r = ddlCategoryID.Items.Count -  1                ''Посчитаем строки
            ddlCategoryID.Items(r).Selected = "true"      'А тут нацелимсмя на новую строку
Так вот при выборе какого-нибудь значения в Dropdownlist выборка понятно как работает, а вот при значении "Все категории" необходимо выбрать все записи.
Вот тут я не знаю как это реализовать, поскольку при этом значение r выбирается таким какого в таблице нет.
...
Рейтинг: 0 / 0
Фильтрация данных
    #34957911
gev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если справился с этой задачей скажи как??? то же очень надо сделать подобное!!!
...
Рейтинг: 0 / 0
Фильтрация данных
    #34957965
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramЕсть источник данных:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<asp:SqlDataSource ID="SqlDataSource1" 
 runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
  EnableCaching="True" 
  SelectCommand="SELECT [au_id],[au_lname],[au_fname] FROM [authors]" 
  FilterExpression="au_id>={0} OR au_id = -1"> 
    <FilterParameters>
      <asp:ControlParameter ControlID="ddlCategoryID" 
         Name="au_id" PropertyName="Text"
         Type="String" />
  </FilterParameters>
Для него есть фозможность фильтровать данные из Dropdownlist, в который еще программно добавлено значение "Все категории" и это значение устанавливается при загрузке страницы:
Код: plaintext
1.
2.
3.
            ddlCategoryID.Items.Add("Все категории", - 1 )   ''Добавим к списку еще и все
            r = ddlCategoryID.Items.Count -  1                ''Посчитаем строки
            ddlCategoryID.Items(r).Selected = "true"      'А тут нацелимсмя на новую строку
Так вот при выборе какого-нибудь значения в Dropdownlist выборка понятно как работает, а вот при значении "Все категории" необходимо выбрать все записи.
Вот тут я не знаю как это реализовать, поскольку при этом значение r выбирается таким какого в таблице нет.

как то так
...
Рейтинг: 0 / 0
Фильтрация данных
    #34958202
gev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за отклик, теперь при выборе любого значения в Dropdownlist, вылетает ошибка

Cannot have multiple items selected in a DropDownList.

А значение "Все категории" отсутствует ((( Отображаються только изначальные значения выведенные запросом из базы
...
Рейтинг: 0 / 0
Фильтрация данных
    #34958787
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так непонятно, в чем проблема. Смотрите отладчиком на стек вызовов. Кто там пытается одновременно выделить несколько элементов в DropDownList
...
Рейтинг: 0 / 0
Фильтрация данных
    #34958859
автор<FilterParameters>
<asp:ControlParameter ControlID="ddlCategoryID"
Name="au_id" PropertyName="Text"
Type="String"
/>
</FilterParameters>
лень пробовать, но так ИМХО не прокатит...
...
Рейтинг: 0 / 0
Фильтрация данных
    #34958891
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
непрокатит автор<FilterParameters>
<asp:ControlParameter ControlID="ddlCategoryID"
Name="au_id" PropertyName="Text"
Type="String"
/>
</FilterParameters>
лень пробовать, но так ИМХО не прокатит...

Да, кстати. Я бы использовал в таком виде:
Код: plaintext
1.
2.
3.
4.
<FilterParameters>
      <asp:ControlParameter ControlID="ddlCategoryID" 
         Name="au_id" PropertyName="SelectedValue"
         Type="Int23" />
  </FilterParameters>

А если au_id не числовое поле, а текстовое, то надо было в моем условии еще кавычки поставить:
Код: plaintext
==>FilterExpression="au_id>={0} OR au_id = '-1'"> 
...
Рейтинг: 0 / 0
Фильтрация данных
    #34962825
ram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ram
Гость
Артем1 ramЕсть источник данных:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<asp:SqlDataSource ID="SqlDataSource1" 
 runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
  EnableCaching="True" 
  SelectCommand="SELECT [au_id],[au_lname],[au_fname] FROM [authors]" 
  FilterExpression="au_id>={0} OR au_id = -1"> 
    <FilterParameters>
      <asp:ControlParameter ControlID="ddlCategoryID" 
         Name="au_id" PropertyName="Text"
         Type="String" />
  </FilterParameters>
Для него есть фозможность фильтровать данные из Dropdownlist, в который еще программно добавлено значение "Все категории" и это значение устанавливается при загрузке страницы:
Код: plaintext
1.
2.
3.
            ddlCategoryID.Items.Add("Все категории", - 1 )   ''Добавим к списку еще и все
            r = ddlCategoryID.Items.Count -  1                ''Посчитаем строки
            ddlCategoryID.Items(r).Selected = "true"      'А тут нацелимсмя на новую строку
Так вот при выборе какого-нибудь значения в Dropdownlist выборка понятно как работает, а вот при значении "Все категории" необходимо выбрать все записи.
Вот тут я не знаю как это реализовать, поскольку при этом значение r выбирается таким какого в таблице нет.

как то так
У меня в базе данных нет записей со значением -1
Так что ничего не выберется.
...
Рейтинг: 0 / 0
Фильтрация данных
    #34962838
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ram
Код: plaintext
1.
            ddlCategoryID.Items.Add("Все категории", - 1 )   ''Добавим к списку еще и все...
....
У меня в базе данных нет записей со значением -1
Так что ничего не выберется.

Тогда мы друг друга не поняли. Я думал, в выделенной строке к значениям из базы добавляется еще одно фиктивное, для отключения фильтрации.
...
Рейтинг: 0 / 0
Фильтрация данных
    #34962840
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ram...
У меня в базе данных нет записей со значением -1
Так что ничего не выберется.

Ой, точно же, попутал. Это же условие фильтрации, там не поле с -1 нужно сравнивать, а значение параметра самого. Тогда надо подумать, как это сделать. Через like?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Фильтрация данных
    #38261754
UScorp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос из такой же области. Что-то никак не могу наложить фильтр на несколько полей на SqlDataSource.
Выглядит это дело в сокращенном варианте примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<asp:TextBox ID="TextBox_FilterParamName"  runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox_FilterParamDescr" runat="server"></asp:TextBox>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        connectionstring="<%$ ConnectionStrings:MyConnectString%>" 
        FilterExpression = "ParamName LIKE '%{0}%' AND ParamDescr LIKE '%{1}%'">
  <FilterParameters>
    <asp:ControlParameter Name="ControlParameter_ParamName"  ControlId="TextBox_FilterParamName"  PropertyName="Text" Type="String"/>
    <asp:ControlParameter Name="ControlParameter_ParamDescr" ControlId="TextBox_FilterParamDescr" PropertyName="Text" Type="String"/>
  </FilterParameters>
</asp:SqlDataSource>



В таком случае фильтр никак не накладывается, выводятся все записи из таблицы, что бы ни было введено в textBox-ы TextBox_FilterParamName и TextBox_FilterParamDescr.

Если же убираю одно из полей из фильтра, то все начинает работать. Что-то не пойму в чем тут фишка. А в хелпе нашел пример только с одним параметром.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Фильтрация данных
    #39645029
Ivan Kholodnyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UScorp,

Лучше использовать queryextender.
https://msdn.microsoft.com/ru-ru/library/dd537671(v=vs.100).aspx
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Фильтрация данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]