今天做了一个批量删除的功能,有很多东西都还是不明确的呀.原理是清楚的,但实现起来有点问题呀.在朋友的帮助处终于实现了。可以多选,并取消多选。希望在这里和大家分享一下:
HTML代码
// 判断多选是否与选中项(没有选中的返回false)
function slcNo_click()
{
if (document.form1.checkboxname.length)
{
for (var i=0;i<document.form1.checkboxname.length;i++)
{
if(document.form1.checkboxname[i].checked)
{
return true;
}
}
}
else
{
if(document.form1.checkboxname.checked)
{
return true;
}
}
alert("请选择后再操作!");
return false;
}
// 多选的全选与取消
function CheckJs(boolvalue)
{
if(document.all.checkboxname.length>1)
{
for(var i=0;i<document.all.checkboxname.length;i++)
{
document.all.checkboxname[i].checked = boolvalue;
}
}
else
document.all.checkboxname.checked = boolvalue;
}
//
// 只有全部选中时,“全选”选中
function SingleCheckJs()
{
var flag1=false;
var flag2=false;
if (document.form1.checkboxname.length)
{
for (var i=0;i<document.form1.checkboxname.length;i++)
{
if(document.form1.checkboxname[i].checked)
flag1 = true;
else
flag2 = true;
}
}
else
{
if(document.form1.checkboxname.checked)
flag1 = true;
else
flag2 = true;
}
if(flag1==true&&flag2==false)
document.getElementById("chk").checked = true;
else
document.getElementById("chk").checked = false;
}
</script>

<asp:TemplateColumn HeaderText="标题">
<HeaderStyle HorizontalAlign="Center" Width="260px"></HeaderStyle>
<HeaderTemplate>
<input type="CheckBox" id="chk" name="chk" onclick="CheckJs(this.checked)"> 全选
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="checkboxname" name="checkboxname" value='<%#DataBinder.Eval(Container.DataItem,"NewsID")%> ' onclick='SingleCheckJs();'/>
<%...# GetContent(DataBinder.Eval(Container.DataItem,"Title").ToString())%>
</font></a>
</ItemTemplate>
</asp:TemplateColumn>
后台代码
//执行批量删除
private void btnDelete_Click(object sender, System.EventArgs e)
...{
string str = "";
string[] ckb = null;
str = Request.Form.Get("checkboxname");

ckb = str.Split(new char[] ...{ ',' });
for (int i = 0; i < ckb.Length; i++)
...{
try
...{
Delete(Convert.ToInt32(ckb[i]));
}
catch (Exception ex)
...{
Response.Write(Pad.PadCommon.Func.Error.ErrorString(ex.Message.ToString(),"1"));
}
}
GridDataBind(this.listNewsType.SelectedValue.ToString(),Convert.ToInt32(this.ListStatus.SelectedValue.ToString()));
}
本文分享了如何在ASP.NET中使用DataGrid实现批量删除功能,包括多选和取消多选的操作,通过HTML和后台代码的结合,解决了批量删除的实现难题。
2132

被折叠的 条评论
为什么被折叠?



