我在datagrid模板列里放了checkbox,我想进行操作,选某一个或全选
在vb.net里是
Dim chkTemp As CheckBox
  For i = 0 To hk.Items.Count
                chkTemp = hk.Items(i).Cells(0).FindControl("xuan")
                chkTemp.Checked = quanxuan.Checked
            Next
但是,c#里好像不行了,
CheckBox chkTemp =new CheckBox();
for(i=0;i<DataGrid2.Items.Count;i++){
    chkTemp =DataGrid2.Items(i).Cells(0).FindControl("xuan");    chkTemp.Checked = select_all.Checked;
}这样不行,datagrid2.Items不行
“System.Web.UI.WebControls.DataGrid.Items”表示“属性”,此处应为“方法”
不一样,怎么办?

解决方案 »

  1.   

    chkTemp =DataGrid2.Items[i].Cells(0).FindControl("xuan");
      

  2.   

    还是不行啊。运行后,checkbox没有动
      

  3.   

    点击datagrid在编辑模板列下加上checkbox就行。
      

  4.   

    全选操作: 
    protected void btnSelect_Click(object sender, EventArgs e)
        {
            CheckBox chk;
            foreach (DataGridItem item in DataGrid1.Items)
            {
                chk = item .FindControl("chk") as CheckBox;
                if (chk.Checked == false)
                {
                    chk.Checked = true;
                }
            }
        }
    取消操作:
    protected void btnSelect_Click(object sender, EventArgs e)
        {
            CheckBox chk;
            foreach (DataGridItem item in DataGrid1.Items)
            {
                chk = item .FindControl("chk") as CheckBox;
                if (chk.Checked == true)
                {
                    chk.Checked = false;
                }
            }
        }
      

  5.   

    用脚本写:今天刚学会的。楼主要给分哦。。
    <script language="JavaScript">
    function Selectallup(opt)
        { 
       var c = document.Form1;
           for(var i=0;i<c.elements.length;i++)
           { 
               var box=c.elements.elements[i]           
               box.checked =opt.checked;
           }
        }
    </script>
    在你的页眉的checkbox的代码<asp:CheckBox id="CheckBox" onclick="Selectallup(this);" runat="server" Text="全选">
    加上这一句onclick="Selectallup(this);
    就OK了