博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Griview中DataKeyNames的用法(多个主键)?
阅读量:5221 次
发布时间:2019-06-14

本文共 4907 字,大约阅读时间需要 16 分钟。

1.单个主键 

using System; 

using System.Data; 

using System.Configuration; 

using System.Collections; 

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 GridViewCheckbox : System.Web.UI.Page 


    SqlConnection sqlcon; 

    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 Button1_Click(object sender, EventArgs e) 

    { 

        sqlcon = DB.createCon(); 

        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 Employee where 身份证号码='" + GridView1.DataKeys[i].Value + "'"; 

                sqlcom = new SqlCommand(sqlstr, sqlcon); 

                sqlcon.Open(); 

                sqlcom.ExecuteNonQuery(); 

                sqlcon.Close(); 

            } 

        } 

        bind(); 

    } 

    protected void Button2_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 4 * from Employee"; 

        sqlcon = DB.createCon(); 

        SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); 

        DataSet myds = new DataSet(); 

        sqlcon.Open(); 

        myda.Fill(myds, "Employee"); 

        GridView1.DataSource = myds; 

        GridView1.DataKeyNames = new string[] { "身份证号码" }; 

        GridView1.DataBind(); 

        sqlcon.Close(); 

    } 


2.多个主键 

using System; 

using System.Data; 

using System.Configuration; 

using System.Collections; 

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 SendMessageBox : System.Web.UI.Page 


    protected void Page_Load(object sender, EventArgs e) 

    { 

        if(!IsPostBack) 

        { 

            bind(); 

        } 

    } 

    public void bind() 

    { 

        string str = "select * from Sms_Send"; 

        SqlConnection con = DB.CreateDB(); 

        SqlDataAdapter da = new SqlDataAdapter(str, con); 

        DataSet ds = new DataSet(); 

        con.Open(); 

        da.Fill(ds, "Sms_Send"); 

        GridView1.DataSource = ds; 

        GridView1.DataKeyNames = new string[] { "Mobile", "SendTime" }; 

        GridView1.DataBind(); 

    } 

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 

    { 

        foreach (TableCell tc in e.Row.Cells) 

        { 

            tc.Attributes["style"] = "border-color:Black"; 

        } 

        if (e.Row.RowIndex != -1) 

        { 

            int id = e.Row.RowIndex + 1; 

            e.Row.Cells[1].Text = id.ToString(); 

        }     

    } 

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 

    { 

        GridView1.PageIndex = e.NewPageIndex; 

        bind(); 

        GridView1.PageIndex = e.NewPageIndex; 

    } 

    protected void btnSelectAll_Click(object sender, ImageClickEventArgs e) 

    { 

        for(int i=0;i<=GridView1.Rows.Count-1;i++) 

        { 

            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); 

            if(cbox.Checked==false) 

            { 

                cbox.Checked=true; 

            } 

        } 

    } 

    protected void btnCancel_Click(object sender, ImageClickEventArgs e) 

    { 

        for(int i=0;i<=GridView1.Rows.Count-1;i++) 

        { 

            CheckBox cbox=(CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); 

            if(cbox.Checked==true) 

            { 

                cbox.Checked=false; 

            } 

        } 

    } 

   protected void btnQuery_Click(object sender, ImageClickEventArgs e)

    {

        DateTime start = DateTime.Parse(txtStart.Text.ToString());// Convert.ToDateTime(txtStart.Text.ToString());

        DateTime end = Convert.ToDateTime(txtEnd.Text.ToString());

        if (end <= start)

        {

            Page.RegisterStartupScript("message", "<Script>alert('结束日期必须大于开始日期!')</Script>");

            return;

        }

        string str = "select * from Sms_Send where SendTime between '" + start + "' and '" + end + "'";//"select * from Sms_Send where SendTime>=start and SendTime<=end";

        SqlConnection con = DB.CreateDB();

        SqlDataAdapter da = new SqlDataAdapter(str, con);

        DataSet ds = new DataSet();

        da.Fill(ds, "Sms_Send");

        GridView1.DataSource = ds;

        GridView1.DataKeyNames = new string[] { "Mobile", "SendTime" };

        GridView1.DataBind();

    }

    protected void btnDelete_Click(object sender, ImageClickEventArgs e) 

    { 

        SqlConnection con = DB.CreateDB(); 

        SqlCommand cmd; 

        for (int i = 0; i <= GridView1.Rows.Count - 1; i++) 

        { 

            CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); 

            if (cbox.Checked == true) 

            { 

                DataKey datakey = GridView1.DataKeys[i]; 

                string mobile = datakey["Mobile"].ToString(); 

                string sendTime = datakey["SendTime"].ToString(); 

                string str = "delete from Sms_Send where Mobile='" + mobile + "'and SendTime='" + sendTime + "'"; 

                cmd = new SqlCommand(str, con); 

                con.Open(); 

                cmd.ExecuteNonQuery(); 

                con.Close(); 

            } 

        } 

        bind(); 

    } 

}

转载于:https://www.cnblogs.com/y0umer/archive/2013/05/03/3839072.html

你可能感兴趣的文章
layui父页面执行子页面方法
查看>>
如何破解域管理员密码
查看>>
Windows Server 2008 R2忘记管理员密码后的解决方法
查看>>
IE11兼容IE8的设置
查看>>
windows server 2008 R2 怎么集成USB3.0驱动
查看>>
Foxmail:导入联系人
查看>>
vue:axios二次封装,接口统一存放
查看>>
vue中router与route的区别
查看>>
js 时间对象方法
查看>>
网络请求返回HTTP状态码(404,400,500)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>
Mac下使用crontab来实现定时任务
查看>>
303. Range Sum Query - Immutable
查看>>
图片加载失败显示默认图片占位符
查看>>
【★】浅谈计算机与随机数
查看>>
[转载]宇宙文明等级的划分标准
查看>>
《代码阅读方法与实现》阅读笔记一
查看>>
解决 sublime text3 运行python文件无法input的问题
查看>>
javascript面相对象编程,封装与继承
查看>>
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>