您的位置:首页 > 其它

GridView中实现全选批量删除数据

2010-09-26 17:13 786 查看
.aspx代码:

<script type="text/javascript">
function GetAllCheckBox(cbAll)
{
var items = document.getElementsByTagName("input");
for(i=0;i<items.length;i++)
{
if( items[i].type=="checkbox")
{
items[i].checked=cbAll.checked;
}
}
}
</script>

<asp:GridView ID="gvProject" runat="server" AutoGenerateColumns="False" AllowSorting="True">
<Columns>
<asp:TemplateField HeaderText ="选择" >
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
<HeaderStyle Wrap="False" />
</asp:TemplateField>

。。。。。。。。。绑定数据。。。。。。。。

</Columns>

</asp:GridView >

<br/>

<asp:CheckBox ID="Chb" runat="server" Text="全选" OnClick="GetAllCheckBox(this);"/>
<asp:Button ID="Button1" runat="server" Text="批量删除" OnClick="Button1_Click" Height="21px" Width="75px" />

.aspx.cs代码:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

this.Button1.Attributes.Add("onclick", "return confirm('确认删除选中的项目吗??')");

}

}

protected void Button1_Click(object sender, EventArgs e)
{
int flag = 0; //记录删除的数量
for (int i = 0; i < this.gvProject.Rows.Count; i++)
{
CheckBox ckb = (CheckBox)this.gvProject.Rows[i].FindControl("CheckBox1");
if (ckb.Checked)
{
int Id = Convert.ToInt32((this.gvProject.Rows[i].FindControl("lblId") as Label).Text);
Project_MasterManager.DeleteProject_MasterById(Id); //根据项目id删除
flag = flag + 1;
}

}
string fileName = "ProjectMaster.aspx";
if (Request.Params["id"] != null)
{
fileName = "ProjectMaster.aspx?id=" + Request.Params["id"];
}
if (flag == 0)
{
Response.Write("<script>alert('请先选择您要删除的信息!');</script>");
}
else
{
Response.Write("<script>alert('成功删除" + flag + "个项目!');location.href='ProjectMaster.aspx?self=9';</script>");
}
}



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