在DataGrid里的CheckBox怎么判断是否选中?
DataGrid里做可以批量删除,用CheckBox,怎么在点击按钮提交删除的时候判断是CheckBox是否被选中?不选中的话会出现错误!弹出一个对话框提示没有选中其中任何一条记录! 问题点数:20、回复次数:5Top
1 楼jackie615()回复于 2005-09-12 10:05:35 得分 0
For Each item In datagrid1.Items
IF CType(item.FindControl("chk"), CheckBox).Checked Then
'..................可以在这里拼sql
End If
Next
If Trim(sql) = "" Then
'alert
End IFTop
2 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2005-09-12 10:09:16 得分 0
你可以用模版列,里面放上<input type=checkbox value=<%%> name="chk">
可以用js判断是否有选中项
给提交按钮加一个客户端事件
如果有选中则执行服务器端事件
用Request["chk"]就可以得到选中的项Top
3 楼cxx1997(小网虫)(最厉害的妖怪))回复于 2005-09-12 12:32:16 得分 0
看你要在服务端处理还是前台处理了Top
4 楼jhtchina(学习构架设计)回复于 2005-09-12 12:34:24 得分 0
markTop
5 楼bingbingcha(不思不归,不孟不E,原来是头大灰狼)回复于 2005-09-12 12:44:38 得分 20
用我的删除函数吧...
JS:全选函数
<script language="JavaScript">
function selectAll(){
var arrObj=document.all;
if(document.getElementById("checkedAll").checked){
for(var i=0;i<arrObj.length;i++){
if(typeof arrObj[i].type != "undefined" && arrObj[i].type=='checkbox'){
arrObj[i].checked =true;
}
}
}else{
for(var i=0;i<arrObj.length;i++){
if(typeof arrObj[i].type != "undefined" && arrObj[i].type=='checkbox') arrObj
[i].checked =false;
}
}
}
</script>
=======================
CS:后台判断选中的个数,然后执行删除
public void Del(object sender, System.EventArgs e)
{//删除函数
string allid = null;
int i=0;
HtmlInputCheckBox cb;
foreach(DataGridItem di in dg.Items)
{
cb = (HtmlInputCheckBox)di.FindControl("xz");
if (cb.Checked==true)
{
allid += cb.Value+",";
i++;
}
}
if (allid!=null)
{
allid = allid.TrimEnd(',');
AdminClass myClass = new AdminClass();
if(myClass.delTable("bigClass",allid))
{
myClass.Dispose();
Function.showerr("删除成功!",Request.Url.Segments[Request.Url.Segments.Length-1]);
return ;
}
else
{
myClass.Dispose();
Function.showerr("删除失败,请返回重新操作!");
return ;
}
}
}Top




