在DataGrid中添加三个CheckBox后如何实现全选、单选功能?
其中一个实现全选功能,另两个实现但全功能!急。

解决方案 »

  1.   

    JavaScript实现DataGrid中添加CheckBox列(全选与否):
    http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx
      

  2.   

    function CheckOthers(form) //反选
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i]; if (e.checked==false)
    {
    e.checked = true;
    }
    else
    {
    e.checked = false;
    }
    }
    }function CheckAll(form)  //全选
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i]; e.checked = true;
    }
    }
    调用的时候:CheckOthers(你的表单名字)
      

  3.   

    //全选 CheckAll
    //反选 CheckNone
    //刷新 Refreshfunction CheckAll(ObjData,Aim)
    {//全选
           var InputAll = ObjData.all.tags('input');
           var InputLenth = InputAll.length;
           var str ="";
                 for(var i=0;i<InputLenth;i++)
           {
                var TagName = InputAll[i].type
               
               if(TagName=="checkbox")
                {       
                  InputAll[i].checked=true;
                  str+=InputAll[i].value+"|";
                 }
              
            }
              Aim.value = str; }
      
     /////////////////////////////////////////////////// 
    /////////////////////////////////////////////////
    //反选
    function CheckNon(ObjData,Aim)
    {
          var str="" ;
      
           var InputAll = ObjData.all.tags('input');
           var InputLenth = InputAll.length;
          
           for(var i=0;i<InputLenth;i++)
           {
                var TagName = InputAll[i].type
               
               if(TagName=="checkbox")
               {
                     if(!InputAll[i].checked)
                     {
                       InputAll[i].checked =true;
                       str+=InputAll[i].value+"|";
                       
                       } 
                       else
                       {
                         InputAll[i].checked = false;
                        }
                }
              
            }
         Aim.value = str;
      }
     ////////////////////////////////////////////
     ////////////////////////////////////////////
     //如果用户自己选择框,不是全选或者反选
     function SelfCheck(ObjData,Aim)
     {
           var str ="";
           var InputAll = ObjData.all.tags('input');
           var InputLenth = InputAll.length;
          
           for(var i=0;i<InputLenth;i++)
           {
                var TagName = InputAll[i].type
               
               if(TagName=="checkbox")
               {
                     if(InputAll[i].checked)
                     {
                        str+=InputAll[i].value+"|";
                       } 
                                
                }
              
            }
           Aim.value = str;
         
     } 
    -----------------------------上面的js代码,实用与DATAGRID,DATALIST
    ---------------------------- ObjData指的是数据控件,AIM指的是隐藏的hidden
    -----------------------------
    <script language="javascript" src="your js" defer></script>
      

  4.   

    我只想用C#代码实现全选和单选功能,因为我的项目使用Asp.net(C#)实现的.麻烦各位指点一下,我已经用模版做好了界面.
      

  5.   

    <asp:TemplateColumn HeaderText="选择" ItemStyle-Width="40">
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center" Width="40px"></ItemStyle>
    <ItemTemplate>
    <asp:CheckBox id="chkUser" runat="server" Checked="true"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn> private void btnChooseAll_Click(object sender, System.EventArgs e)
    {
    for(int i=0;i<dg_UserInfo.Items.Count;i++)
    {
    CheckBox c1=(CheckBox)dg_UserInfo.Items[i].Cells[0].Controls[1];
    c1.Checked = true;
    }
    } private void btnChooseNo_Click(object sender, System.EventArgs e)
    {
    for(int i=0;i<dg_UserInfo.Items.Count;i++)
    {
    CheckBox c1=(CheckBox)dg_UserInfo.Items[i].Cells[0].Controls[1];
    c1.Checked = false;
    }
    }
    //循环读取
    for (int itmp = 0; itmp < dg1.Items.Count; itmp++)
    {
    CheckBox c1=(CheckBox)dg1.Items[itmp].Cells[0].Controls[1];
    if(c1.Checked)
    {
    iChooseUserCount ++;
        }
    }
      

  6.   

    http://singlepine.cnblogs.com/articles/266538.html
      

  7.   

    想完全使用C#,CheckBox的AutoPoatBack设置true,每次都循环遍历才可以,但是有页面刷新。
    你可以学学上面的方法,很简单,而且无刷新