在DATAGRID中添加了一个CHECKBOX,现在想实现修改CHECKBOX选取状态后,点击更新按钮,将新的状态存入数据库。但我不知道如何获取被选中的行的CHECKBOX的值,该如何做?

解决方案 »

  1.   

    foreach(DataGridItem item in DataGrid.Items) {
       CheckBox chk = item.FindControl("checkbox_id") as CheckBox;
       if(chk != null) {
            if(chk.Checked) {
                ......
             }
       }
    }
      

  2.   

    http://lovecherry.cnblogs.com/lovecherry/archive/2005/07/15/193477.html
    你看看这个文章
      

  3.   

    private void MyDataGrid_UpdateCommand(object source, DataGridCommandEventArgs e)
    {
    CheckBox chk = e.Item.FindControl("checkbox_id") as CheckBox; //checkbox_id你的控件名
    //以下再控制chk...
    if(chk.Checked == true)
    {
    //...
    }
    }
      

  4.   

    我用的方法是直接循环datagrid里面的控件,然后判断控件的类型,如果类型是system.web.ui.checkbox的话就是checkbox控件,然后在取checkbox的值
      

  5.   

    For Each myDataGridItem In MyDataGrid.Items
            chkSelected = myDataGridItem.FindControl("chkDeleteThis")
            If chkSelected.Checked Then
               selectID = CType(myDataGridItem.FindControl("lblFaqID"), Label).Text
               getIDs += selectID
       getIDs +=","
            End If
       Next
      

  6.   

    应该是这样的:
    foreach(DataGridItem di in this.DataGrid1.Items)
    {
      CheckBox chk=(CheckBox)di.FindControls["CheckBoxId"]
      if(chk.Checked)
       {
         .....
       }
       else
       {
        .....
       }
    }CheckBox chk=(CheckBox)di.FindControls["CheckBoxId"]是进行强制类型转换,通过这样你可以取得它的值了!