/*在GridvIEw中進行刪除操作時要用到獲得該列的主鍵,下面分別介紹單個主鍵和多個主鍵的獲取方法,顏色標記部分為核心代碼,大家可以自己建個數據庫進行測試*/
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 SFZ號碼=''" + 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[] { "SFZ號碼" };
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();
}