C#.net gridview与checkbox全选的问题,为什么无法全选呢?
for(inti=0;i<=gvdaxh.Rows.Count-1;i++){CheckBoxcbox=(CheckBox)(gvdaxh.Rows[i].FindCon...
for (int i = 0; i <= gvdaxh.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)(gvdaxh.Rows[i].FindControl("CheckBox1"));
if (CheckBox2.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
} 展开
{
CheckBox cbox = (CheckBox)(gvdaxh.Rows[i].FindControl("CheckBox1"));
if (CheckBox2.Checked == true)
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
} 展开
6个回答
展开全部
你好~
我大概看了一下你的这段语法.
其中一句话:
CheckBox cbox = (CheckBox)(gvdaxh.Rows[i].FindControl("CheckBox1"));
当中的Rows[i]后面应该再加上Cells[xxx]应该是写固定的,你的那个checkbox在gridview中第几列了.比如说checkbox在第一列,这个中括号里面XXX应该是写0,如果是在第二个,应该时候写1,以此类推.
我大概看了一下你的这段语法.
其中一句话:
CheckBox cbox = (CheckBox)(gvdaxh.Rows[i].FindControl("CheckBox1"));
当中的Rows[i]后面应该再加上Cells[xxx]应该是写固定的,你的那个checkbox在gridview中第几列了.比如说checkbox在第一列,这个中括号里面XXX应该是写0,如果是在第二个,应该时候写1,以此类推.
追问
我在后面加上了,但是括号里不管添几都不管用啊
追答
你加我QQ吧:138858008
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然选不中了,你仔细看看
if (CheckBox2.Checked == true) 这里是选中状态可是条件里面还要让他继续选中会有变化吗?
{
cbox.Checked = true;
}
else 这里是没选中状态可是条件里面还要让他继续没选中,会有变化?
{
cbox.Checked = false;
}
好赖换一下嘛……
if (CheckBox2.Checked == true)
{
cbox.Checked = false;
}
else
{
cbox.Checked = true;
}
if (CheckBox2.Checked == true) 这里是选中状态可是条件里面还要让他继续选中会有变化吗?
{
cbox.Checked = true;
}
else 这里是没选中状态可是条件里面还要让他继续没选中,会有变化?
{
cbox.Checked = false;
}
好赖换一下嘛……
if (CheckBox2.Checked == true)
{
cbox.Checked = false;
}
else
{
cbox.Checked = true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CheckBox cbox = (CheckBox)(gvdaxh.Rows[i].FindControl("CheckBox1"));
.Rows[0].Cells[checkbox的列索引-1].FindControl("CheckBox1")
还有
if (CheckBox2.Checked)//这样就行了,不需要再==true那么麻烦
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
另外用js实现的话效果好得多,不会刷新页面不回有回传,不建议用后台写这种全选功能。
<input id="CheckBox2" type="checkbox" onclick="selectAll(this);" runat="server"/>
function selectAll(obj) {
var input = document.getElementsByTagName("input"); //所有input
for (var i = 0; i < input.length; i++)//将下面的checkbox设为与CheckBox2的checked相同
{
if (input[i].type == "checkbox") {
if (input[i].checked != null) input[i].checked = obj.checked;
}
}
}
.Rows[0].Cells[checkbox的列索引-1].FindControl("CheckBox1")
还有
if (CheckBox2.Checked)//这样就行了,不需要再==true那么麻烦
{
cbox.Checked = true;
}
else
{
cbox.Checked = false;
}
另外用js实现的话效果好得多,不会刷新页面不回有回传,不建议用后台写这种全选功能。
<input id="CheckBox2" type="checkbox" onclick="selectAll(this);" runat="server"/>
function selectAll(obj) {
var input = document.getElementsByTagName("input"); //所有input
for (var i = 0; i < input.length; i++)//将下面的checkbox设为与CheckBox2的checked相同
{
if (input[i].type == "checkbox") {
if (input[i].checked != null) input[i].checked = obj.checked;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AutoPostBack="true" 你是不是没有加这个属性哈
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CheckBox1不能用这个,运行后在页面中得不到“CheckBox1”,具体的你可以运行后在页面中查看源码可以得到其名
要不你就<input type="checkbox" id ="checkbox1" runat="sever"/>这样ID就不会变
要不你就<input type="checkbox" id ="checkbox1" runat="sever"/>这样ID就不会变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询