我在DataGrid中的首列添加了一个CheckBox控件,在页面初始化的时候需要根据邦定的数据对CheckBox进行打勾或不打勾。可是我无法获得CheckBox,请高手指教如何获取DataGrid中的ChckBox.谢谢了!    我用下面的代码进行操作时,
((System.Web.UI.WebControls.CheckBox)(grdSJ.Items[i].FindControl(strChk))).Checked=true;
系统不断提示:"找到多个具有相同 ID“参数编号”的控件。FindControl 要求控件具有唯一的 ID。" 可是参数编号没有重复啊!    在DataGrid中添加了一个CheckBox,所以当有多行数据时,所有的CheckBox名字都是一样,不知道这个有没有影响。

解决方案 »

  1.   

    function CheckAll(myForm) {
    for (var i=0;i<myForm.elements.length;i++)
    {
    var e = myForm.elements[i];
    if (e.type == 'checkbox'&&e.name!='cbSelectAll'&&e.name!='ShowNumNavigate'&&e.name!='chkDateSelect')
    e.checked = myForm.cbSelectAll.checked;
    }
    }
    //javascript
      

  2.   

    <asp:CheckBox id="chkIsFinish" Checked='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"isFinish")) %>' Runat="server" />
      

  3.   

    你可以在DataGrid的ItemCreated事件处理程序中获取这些CheckBox,象这样:void datagrid1_ItemCreated(object src,DataGridItemEventArgs e){
    if(e.Item.ItemType==ListItemType.Header){
    CheckBox box=e.Item.FindControl("checkbox1") as CheckBox;
    if(box!=null)
    //...
    }
    }