我已经把数据库的数据查询到gridview,在gidview1里放控件CheckBox1,现在要实现通过CheckBox1来筛选已经保存在gidview1中的数据,比如原来gridbiew1里有三条数据,我在CheckBox1中勾选两条,点击按钮只显示勾选的两条数据。该如何实现?希望大侠指点,最好能够提供代码参考,谢谢!!!!

解决方案 »

  1.   

    后台代码:using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class Default5 : System.Web.UI.Page
    {
    //清清月儿http://blog.csdn.net/21aspnet
    SqlConnection sqlcon;
    string strCon = "Data Source=(local);Database=北风贸易;Uid=sa;Pwd=sa";
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    bind();
    }
    }
    protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
    {
    for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
    {
    CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
    if (CheckBox2.Checked == true)
    {
    cbox.Checked = true;
    }
    else
    {
    cbox.Checked = false;
    }
    }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
    sqlcon = new SqlConnection(strCon);
    SqlCommand sqlcom;
    for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
    {
    CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
    if (cbox.Checked == true)
    {string sqlstr = "delete from 飞狐工作室 where 身份证号码='" + GridView1.DataKeys[i].Value + "'";
    sqlcom = new SqlCommand(sqlstr, sqlcon);
    sqlcon.Open();
    sqlcom.ExecuteNonQuery();
    sqlcon.Close();
    }
    }
    bind();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    CheckBox2.Checked = false;
    for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
    {
    CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
    cbox.Checked = false;
    }
    }
    public void bind()
    {
    string sqlstr = "select top 5 * from 飞狐工作室";
    sqlcon = new SqlConnection(strCon);
    SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
    DataSet myds = new DataSet();
    sqlcon.Open();
    myda.Fill(myds, "tb_Member");
    GridView1.DataSource = myds;
    GridView1.DataKeyNames = new string[] { "身份证号码" };
    GridView1.DataBind();
    sqlcon.Close();
    }
    }前台主要代码:<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
    CellPadding="3" Font-Size="9pt" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px">
    <FooterStyle BackColor="White" ForeColor="#000066" />
    <Columns>
    <asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" />
    </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="身份证号码" HeaderText="用户ID" SortExpression="身份证号码" />
    <asp:BoundField DataField="姓名" HeaderText="用户姓名" SortExpression="姓名"/><asp:BoundField DataField="家庭住址" HeaderText="家庭住址" SortExpression="家庭住址"/></Columns>
    <RowStyle ForeColor="#000066" />
    <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    </asp:GridView>
    <asp:CheckBox ID="CheckBox2" runat="server" Font-Size="9pt" OnCheckedChanged="CheckBox2_CheckedChanged"
    Text="全选" />
    <asp:Button ID="Button1" runat="server" Font-Size="9pt" Text="取消"onClick="Button1_Click" />
    <asp:Button ID="Button2" runat="server" Font-Size="9pt" Text="删除" onClick="Button2_Click" />
      

  2.   

    把选中的行 数据存到DataSet 中  替换 数据源 即可