摘要:GridView多筆刪除
首先建立資料庫中的資料表,將他命名為User
接下來建立aspx,從工具箱拉GridView至內容中,並加入一行樣版如圖
以下為html程式碼必需將CheckBox 的text綁UserID
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Eval("UserID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Eval("UserID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
接著撰寫CS檔,如下
using ...System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;//使用Access時,需加入的參考
using System.Data;//使用datatable時,需加入的參考
public partial class Default2 : System.Web.UI.Page 
...{
OleDbConnection strconn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=C:\\Education\\education\\MessageBoard\\App_Data\\exam.mdb;" + "Persist Security Info=True;");//Access連接字串
protected void Page_Load(object sender, EventArgs e)
...{
strconn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("Select * From [User]", strconn);//取得資料庫中Class資料表資料
DataTable dt = new DataTable();//初始化一個datatable
da.Fill(dt);//將da取得的資料填入datatable中
GridView1.DataSource = dt;
GridView1.DataBind();
strconn.Close();
}
protected void Button1_Click(object sender, EventArgs e)
...{
string src = "";
foreach (GridViewRow row in GridView1.Rows)
...{
if (row.RowType == DataControlRowType.DataRow)
...{
CheckBox cb = (CheckBox)row.Cells[0].FindControl("CheckBox1");
if (cb.Checked)
...{
src = cb.Text.ToString();
OleDbCommand cmd = new OleDbCommand(string.Format("Delete From [User] Where [UserID]=...{0}", src), strconn);
cmd.ExecuteNonQuery();
strconn.Close();
}
}
}
}
}
執行結果,點勾完CheckButton後點選Button時資料將會刪除


using
...