您的位置:首页 > 编程语言 > ASP

ASP.NET Gridview 中使用checkbox删除的方法(两种)

2011-12-05 22:46 627 查看
方法一:

后台代码:

protected void btn_delete_Click(object sender, EventArgs e)

{

for (int i = 0; i <this.GridView1.Rows.Count; i++)

{

int id = Convert.ToInt32(this.GridView1.DataKeys[i].Value);

if ((this.GridView1.Rows[i].Cells[0].FindControl("CheckBox1") as CheckBox).Checked == true)

{

Delete(id);

ClientScript.RegisterStartupScript(GetType(),"提示","<script>alert('删除成功!')</script>");

}

}

this.GridView1.DataBind();

}//删除

private void Delete(int id)

{

using (SqlConnection conn = new SqlConnection(str))

{

conn.Open();

SqlCommand comm = conn.CreateCommand();

comm.CommandText = "delete from Notice_Msg where id=@id";

comm.Parameters.Add(new SqlParameter("@id", id));

comm.ExecuteNonQuery();

}

}

前台代码:

<asp:GridView ID="GridView1" runat="server"
DataKeyNames="id">

另外还得添加一列,让其绑定的字段为id,并且把这一列的visable属性设为false

方法二:

后台:

protected void btn_delete_Click(object sender, EventArgs e)

{

foreach (GridViewRow row in this.GridView1.Rows)

{

if (row.RowType == DataControlRowType.DataRow)

{

CheckBox ckb = row.Cells[2].FindControl("CheckBox1") as CheckBox;

if (ckb.Checked)

{

using (SqlConnection sqlCnn = new SqlConnection(str))

{

using (SqlCommand sqlCmm = sqlCnn.CreateCommand())

{

sqlCmm.CommandText = "delete from Regime_Table where id='" + row.Cells[0].Text + "' ";

sqlCnn.Open();

int a= sqlCmm.ExecuteNonQuery();

if (a>0)

{

ClientScript.RegisterStartupScript(GetType(),"提示","<script>alert('删除成功!')</script>");

}

else

{

ClientScript.RegisterStartupScript(GetType(), "提示", "<script>alert('删除失败!')</script>");

}

this.DataBind();

}

}

}

}

}

}

前台:

<style type="text/css">

.Hidden

{

display:none;

}

</style>

<asp:BoundField DataField="id" HeaderText="编号" >

<HeaderStyle CssClass="Hidden" />

<ItemStyle CssClass="Hidden" />

</asp:BoundField>

新增加一列,这一列绑定id字段,并且visable属性不能为false,否则取不出值来。

checkbox全选功能:

<script type="text/jscript">

function change(sender) {

var table = document.getElementById("GridView1");

for (var i = 1; i < table.rows.length; i++) {

table.rows[i].cells[1].getElementsByTagName("input")[0].checked = sender.checked;

}

}

</script>

<HeaderTemplate>

<input id="Checkbox2" type="checkbox" onclick="change(this)"/>

全选

</HeaderTemplate>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: