for(int i=0;i<DataGridUser.Items.Count;i++)
{
CheckBox UserSelected=(CheckBox)DataGridUser.Items[i].FindControl("CheckBox1");
if(UserSelected.Checked==true)
                                     ..........
                                     ..........
                                     ......... }

解决方案 »

  1.   

    <asp:TemplateColumn HeaderText="是否显示">
    <ItemTemplate>
    <asp:checkbox id="isActCB" Runat="server" checked='<% # DataBinder.Eval(Container.DataItem, "f_States")%>' OnCheckedChanged="CheckedChanged" AutoPostBack=True />
    </ItemTemplate>
    </asp:TemplateColumn>protected void CheckedChanged(object sender, System.EventArgs e)
    {
    DataGridItem dgi = (DataGridItem)(((Control)sender)).NamingContainer;
    char m_States;
    m_Id= int.Parse(dgi.Cells[0].Text);
    m_States= ((CheckBox)sender).Checked?'1':'0';
                m_Sql="update T_Statistics set f_states='"+ m_States +"' where id="+ m_Id ;
    DataAccess.DBAccess.Save(DataAccess.DBAccess.AcquireConnection("ConnectString"),"T_Statistics",m_Sql);  
    myDataGrid.CurrentPageIndex = 0;
    DataAccess.ControlsAccess.FillDataGrid(myDataGrid,"T_Statistics",Session["StatisticsSql"].ToString());      //刷新数据
    }
      

  2.   

    这里用checkbox实现似乎不对,因为它是单选按钮,请问RadioButtonList如何实现呢
      

  3.   

    当然不对了,千万不能用服务器端的checkbox或radiobox,因为生成页面时,它的 id值都变了,不住自己看看,所以findcontrol也就不灵了.