<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="4" DataKeyNames="pid" Width="332px" onpageindexchanging="GridView1_PageIndexChanging" onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="CheckBox1" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="pid" HeaderText="省id" /> <asp:BoundField DataField="pname" HeaderText="省名字" /> <asp:CommandField ShowEditButton="True" /> <asp:CommandField ShowDeleteButton="True" /> </Columns> </asp:GridView> <asp:Button ID="Button1" runat="server" Text="删除选择的项" onclick="Button1_Click" /> |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data;
namespace WebApplication1 { public partial class WebForm3 : System.Web.UI.Page { private string connstr = "data source=.;database=master;uid=sa;pwd=sadamu"; protected void Page_Load(object sender, EventArgs e) { if(!this.IsPostBack) { BindData(); } } private void BindData() { string sqlstr = "select * from province"; DataTable dt = GetDataTable(sqlstr); GridView1.DataSource = dt; GridView1.DataBind(); } private DataTable GetDataTable(string sqlstr) { SqlConnection conn = new SqlConnection(connstr); conn.Open(); SqlCommand cmd = new SqlCommand(sqlstr, conn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); return dt; } //分页时触发的事件 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; BindData(); } //删除事件 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { int ID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex][0].ToString()); //下面是删除代码 //DataKeys是指的所有键的值 } //修改事件 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { int ID = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex][0].ToString()); //然后开始进行修改 } //删除所有选择的项 protected void Button1_Click(object sender, EventArgs e) { for (int i = 0; i <= GridView1.Rows.Count; i++) { CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); if (cbox.Checked == true) { string sqlstr = "delete from province where pid='" + GridView1.DataKeys[i].Value + "'"; //删除代码省略 } } } } } |