powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / фильтрация в GridView через DropDownList
11 сообщений из 11, страница 1 из 1
фильтрация в GridView через DropDownList
    #37660399
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть GridView в котором нужно осуществлять фильтрацию данных в зависимости от выбранного значения в DropDownList.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False" 
                    BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" 
                    CellPadding="3" DataKeyNames="IdWorker" DataSourceID="SqlDataSource1" 
                    Height="138px" onselectedindexchanged="GridView4_SelectedIndexChanged" 
                    Width="556px" AllowSorting="True">
                    <Columns>
                        <asp:CommandField ShowSelectButton="True" />
                        <asp:BoundField DataField="Name1" HeaderText="Name1" SortExpression="Name1" />
                        <asp:BoundField DataField="Name2" HeaderText="Name2" SortExpression="Name2" />
                        <asp:BoundField DataField="Name3" HeaderText="Name3" SortExpression="Name3" />
                        <asp:BoundField DataField="DatBirt" HeaderText="DatBirt" 
                            SortExpression="DatBirt" />
                        <asp:BoundField DataField="IdWorker" HeaderText="IdWorker" 
                            SortExpression="IdWorker" InsertVisible="False" ReadOnly="True" />
                        <asp:BoundField DataField="DatWork" HeaderText="DatWork" 
                            SortExpression="DatWork" />
                        <asp:BoundField DataField="post" HeaderText="post" SortExpression="post" />
                        <asp:BoundField DataField="IdDep" HeaderText="IdDep" SortExpression="IdDep" />
                    </Columns>
                    <FooterStyle BackColor="White" ForeColor="#000066" />
                    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                    <RowStyle ForeColor="#000066" />
                    <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                    <SortedAscendingCellStyle BackColor="#F1F1F1" />
                    <SortedAscendingHeaderStyle BackColor="#007DBB" />
                    <SortedDescendingCellStyle BackColor="#CAC9C9" />
                    <SortedDescendingHeaderStyle BackColor="#00547E" />
                </asp:GridView>



SqlDataSource для GridView

Код: c#
1.
2.
3.
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
             ConnectionString="<%$ ConnectionStrings:WEBConnectionString2 %>" 
             SelectCommand="SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker]">         </asp:SqlDataSource>




DropDownList

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<asp:DropDownList 
        ID="DropDownList2" runat="server" Height="20px" Width="261px" 
            DataSourceID="SqlDataSource3" DataTextField="NameLong" 
            DataValueField="IdDep" 
            onselectedindexchanged="DropDownList2_SelectedIndexChanged">
        </asp:DropDownList>
        
<asp:SqlDataSource ID="SqlDataSource3" runat="server" 
            ConnectionString="<%$ ConnectionStrings:WEBConnectionString %>" 
            onselecting="SqlDataSource3_Selecting" 
            SelectCommand="SELECT [idDep], [NameShort], [KodGal], [NameLong] FROM [Department] WHERE ([KodGal] LIKE '1.4.%')AND ([NameLong] NOT LIKE 'Я-%')"> 
     </asp:SqlDataSource>



При нажатие на кнопку, должна произойти фильтрация

protected void Button1_Click(object sender, EventArgs e)
{
//@IdDep = DropDownList2.Text;
SqlDataSource1.SelectCommand = "SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker] WHERE ([IdDep] = Convert.ToString(DropDownList2.Value))";
SqlDataSource1.DataBind();



но не отрабатывает
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37660583
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
tasha klemer
Код: sql
1.
2.
SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker] 
WHERE ([IdDep] = Convert.ToString(DropDownList2.Value))



это на каком языке программирования?
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37660787
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С##
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37660790
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tasha klemerС##
C#
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37660802
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
а надо на SQL
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662234
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.а надо на SQL

не уловила вашу мысль...


Код: c#
1.
SqlDataSource1.SelectCommand = "SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker] WHERE ([IdDep] = Convert.ToString(DropDownList2.Value))";




ЧТо здесь не правильно????
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662319
няка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662435
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите... Страшно становится, когда такое видишь. Надеюсь, это просто тестовая страничка, "а как оно работает?"
А вообще, если уж очень хочется через SQLDataSource - сделайте фильтр через параметр в запросе.

<SelectParameters>
<asp:ControlParameter ControlID=....
</SelectParameters>
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662457
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
tasha klemer.а надо на SQLне уловила вашу мысль...слово SQL о чем-то говорит? в курсе вообще что это такое?
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662916
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовала я уже через <selectparameters> при значение Defoult= "" или "0" - DataSourse выходит пустой, а при загрузке формы мне нужно чтоб изначально Grid был заполнен всеми записями из dataSourse.
Нашла вот что:
Код: c#
1.
2.
3.
4.
5.
6.
7.
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
             ConnectionString="<%$ ConnectionStrings:WEBConnectionString2 %>" 
             SelectCommand="SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker] "
           FilterExpression="IdDep='{0}'">
<FilterParameters>
<asp:ControlParameter Name="IdDep" ControlId="DropDownList2" PropertyName="SelectedValue"/>
</FilterParameters>



Код: c#
1.
2.
        SqlDataSource1.SelectParameters[0].DefaultValue = DropDownList2.Text;
           SqlDataSource1.DataBind();



при f5
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Source Error: 


Line 151:            //@IdDep = DropDownList2.Text;
Line 152:          //  SqlDataSource1.SelectCommand = "SELECT [Name1], [Name2], [Name3], [DatBirt], [IdWorker], [DatWork], [post], [IdDep] FROM [Worker] WHERE ([IdDep] = Convert.ToString(DropDownList2.Value))";
Line 153:           SqlDataSource1.SelectParameters[7].DefaultValue = DropDownList2.Text;
Line 154:           SqlDataSource1.DataBind();
...
Рейтинг: 0 / 0
фильтрация в GridView через DropDownList
    #37662972
aswell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вставьте в Select

[IdDep] FROM [Worker] WHERE Worker.IdDep= ISNULL(@IdDep,Worker.IdDep)

а потом займитесь своими делами.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / фильтрация в GridView через DropDownList
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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