您的位置:首页 > 其它

Griview中DataKeyNames的用法(多个主键)?

2013-05-03 13:16 183 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: