注册 登录
编程论坛 ASP.NET技术论坛

GridView和CheckBox结合使用的问题

salangane0512 发布于 2008-09-02 09:52, 1429 次点击
protected void btnTest_Click(object sender, EventArgs e)
    {
        int intTest = 0;
        for (int j = 0; j < gvTest.Rows.Count; j++)
        {
            CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
            if (CB.Checked)
            {
                intTest = intTest + 1;
                CB.Checked = true;               
            }   
        }
    }
上面cbTest是GridView中定义的CheckBox,gvTest是cbTest所在的GridView,可是不管cbTest有没有勾选,CB.Checked一直都是false,不知道是什么原因,我上网查了,好多地方都说GridView中操作CheckBox就是这样的呀,那位高手帮我看看啊,谢谢!!!
4 回复
#2
1916381412008-09-03 20:13
首先把循环语句改成
for (int j = 0; j < gvTest.Rows.Count-1; j++)
然后整个程序外面
if(!ispostback)
{
................
}
应该可以实现的 *_* ~!
#3
letian5842008-09-05 21:34
全选按钮
if(this.CheckBox2.checked)
{
for(int i=0;i<GridView1.Rows.Count;i++)
{
CheckBox ch=(CheckBox)GridView1.FindContorl("CheckBox1");
ch.CheckBox=true;
}
}
记得把服务器回发设为true
#4
luoweihua72008-09-08 12:02
if(!ispostback)

尝试在Page_Load中写这段
#5
雨夜·路人2008-09-08 22:15
[bo][un]letian584[/un] 在 2008-9-5 21:34 的发言:[/bo]

全选按钮
if(this.CheckBox2.checked)
{
for(int i=0;i<GridView1.Rows.Count;i++)
{
CheckBox ch=(CheckBox)GridView1.FindContorl("CheckBox1");
ch.CheckBox=true;
}
}
记得把服务器回发设为true


for(int i=0;i<GridView1.Rows.Count;i++)
{
((CheckBox)GridView1.FindContorl("CheckBox1")).CheckBox=this.CheckBox2.checked;
}
把你的代码改了一下,应该好些
1