根据选择项过滤GridView

前台代码:

    <div>

            <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True">

                <asp:ListItem Text="Sunny" Value="Sunny"></asp:ListItem>

                <asp:ListItem Text="Mike" Value="Mike"></asp:ListItem>   

                <asp:ListItem Text="Jakes" Value="Ken"></asp:ListItem>

                <asp:ListItem Text="Ken" Value="Ken"></asp:ListItem>

            </asp:CheckBoxList>

            <hr />

            <br />

            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">

                <Columns>

                    <asp:TemplateField HeaderText="ID">

                        <ItemTemplate>

                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("ID") %>'></asp:Label>

                        </ItemTemplate>

                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Name">

                        <ItemTemplate>

                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("Name") %>'></asp:Label>

                        </ItemTemplate>

                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="City">

                        <ItemTemplate>

                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("City") %>'></asp:Label>

                        </ItemTemplate>

                    </asp:TemplateField>

                </Columns>

            </asp:GridView>

        </div>
View Code

 

后台代码:

protected void Page_Load(object sender, EventArgs e)

        {

            string strwhere = "";

            foreach (ListItem item in CheckBoxList1.Items)

            {

                if (item.Selected)

                {

                    strwhere += "'" + item.Value.ToString() + "',";

                }

            }

            BindGridView(strwhere);

        }

        public void BindGridView(string Names)

        {

            DataTable dt=new DataTable();

            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DemosDatabaseConnectionString"].ConnectionString))

            {

                conn.Open();

                if (Names.Length <= 0)

                {

                    string sql = "select * from Customers";

                    SqlDataAdapter sda = new SqlDataAdapter(sql,conn);

                    sda.Fill(dt);



                    GridView1.DataSource = dt;

                    GridView1.DataBind();

                }

                else

                {                    

                    string sql = "select * from Customers where Name in (" + Names.Substring(0, Names.Length - 1) + ")";

                    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);

                    sda.Fill(dt);



                    GridView1.DataSource = dt;

                    GridView1.DataBind();

                }

            }

          

        }
View Code

http://forums.asp.net/t/2042553.aspx

 

你可能感兴趣的:(GridView)