我用了个pannel在里面实现动态生成多个checkbox,现在我拖了个静态的checkbox控件,打算定义为全选功能,当这个checkbox前面打勾时候,前面动态生成的checkbox都打勾,意思是都被全中,看到和多都是asp的程序,请问如何在checkchanged下用C#来实现我要的全选功能呢????我想看详细的代码哦 在线等中~~~~

解决方案 »

  1.   

    private void selectAll()
      {
       System.Web.UI.WebControls.CheckBox chkExport ;
       if( cmdSelectAll.Text == "全部选中")
       {
        foreach(DataGridItem oDataGridItem in dgMain.Items)
        {
         chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
         chkExport.Checked = true;
        }
        cmdSelectAll.Text = "全部不选";
       }
       else
       {
        foreach(DataGridItem oDataGridItem in dgMain.Items)
        {
         chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");
         chkExport.Checked = false;
        }
        cmdSelectAll.Text = "全部选中";
       }
      

  2.   

    <script>
    function checkall(v,name)
    { var o;
    if(name){
    o=document.getElementsByName(name);//名称为name的checkbox
    for(i=0;i<o.length;i++)o[i].checked=v;
    }else{
    o=document.getElementsByTagName("input");//所有表单中的checkbox
    for(i=0;i<o.length;i++){
    if(o[i].type=="checkbox")o[i].checked=v;
    }
    }
    }
    </script>
    <input type=checkbox onclick=checkall(this.checked)>checkall
    <input type=checkbox onclick=checkall(this.checked,"mytest")>check mytest
    <br>
    <input type=checkbox name=mytest>1test
    <input type=checkbox name=mytest>2test
    <input type=checkbox name=mytest>3test
    <input type=checkbox name=mytest>4test
    <br>
    <input type=checkbox>1
    <input type=checkbox>2
    <input type=checkbox>3
    <input type=checkbox>4
      

  3.   

    这么简单的功能为什么要用C#呢?用js就可以了,不用跑到服务器去执行,也不需要用服务器控件
      

  4.   


    <script>
    function checkall(v,name)
    {    var o;
        if(name){
            o=document.getElementsByName(name);//名称为name的checkbox
            for(i=0;i<o.length;i++)o[i].checked=v;
        }else{
            o=document.getElementsByTagName("input");//所有表单中的checkbox
            for(i=0;i<o.length;i++){
                if(o[i].type=="checkbox")o[i].checked=v;
            }
        }
    }
    </script>
      

  5.   

    <script>
    function checkall(v,name)
    {    var o;
        if(name){
            o=document.getElementsByName(name);//名称为name的checkbox
            for(i=0;i<o.length;i++)o[i].checked=v;
        }else{
            o=document.getElementsByTagName("input");//所有表单中的checkbox
            for(i=0;i<o.length;i++){
                if(o[i].type=="checkbox")o[i].checked=v;
            }
        }
    }
    </script>