今天做了一个批量删除的功能,有很多东西都还是不明确的呀.原理是清楚的,但实现起来有点问题呀.在朋友的帮助处终于实现了。可以多选,并取消多选。希望在这里和大家分享一下:
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")% > ' οnclick='SingleCheckJs();'/>
<% ... # GetContent(DataBinder.Eval(Container.DataItem,"Title").ToString()) %>
</ font ></ a >
</ ItemTemplate >
</ asp:TemplateColumn >
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")% > ' οnclick='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()));
}
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()));
}