zoukankan      html  css  js  c++  java
  • Griview中DataKeyNames的用法(多个主键)?

    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(); 
        } 

    }

    http://www.cnblogs.com/huangjianhuakarl/articles/1095657.html

  • 相关阅读:
    Mac下Android studio搭建Android开发环境【新手】
    2016年美国数学建模比赛(MCM/ICM) E题环境科学 Are we heading towards a thirsty planet? 人工精准翻译。
    一张图让你快速学会UML(聚合、组合、依赖、继承、接口、类)
    《黑客与画家》——读书笔记
    YC(Y Combinator)斯坦福大学《如何创业》课程要点记录(粗糙)
    《你的灯亮着吗?发现问题的真正所在》——读书笔记
    sublime使用
    spring AOP面向切面编程
    LinkedHashMap源码浅析jdk1.7
    增强型for循环与集合
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839072.html
Copyright © 2011-2022 走看看