在datagrid的第一列有个checkbox的单选框,我选中其中的一个单选框时,怎么知道它是否北选中了?知道的指点一下!

解决方案 »

  1.   

    在datagrid的click事件里面去取值
      

  2.   

    private string SeletedID() 


    CheckBox chkExport; 
    string StrSql=""; 
    foreach (DataGridItem oDataGridItem in dgArret.Items) 

    chkExport = (CheckBox)oDataGridItem.FindControl("chkExport"); 
    if (chkExport.Checked == true) 

    CheckmimOne = true; 
    StrSql += "" + oDataGridItem.Cells[1].Text.Trim() + ","; 


    if (CheckmimOne == true) 

    StrSql = StrSql.Substring(0, StrSql.LastIndexOf(",")); 
    return StrSql; 

    else 

    return   "Nochecked"; 

    }
      

  3.   

    楼主这个表达要加强啊,什么叫你选中他怎么知道他是不是被选中了??
    你是想得到它的checked属性对吧?
    简单啊,拿到他本身,然后拿他属性啊。
      

  4.   

    <asp:TemplateColumn HeaderText="&lt;input type=checkbox id=CheckAll onclick='javascript:SelAll()' title='全选/全取消'&gt;">
    <HeaderStyle Width="20px"></HeaderStyle>
    <ItemTemplate>
    <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="ID" ReadOnly="True" HeaderText="编号">
    <HeaderStyle Width="25px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn HeaderText="学号">
    <HeaderStyle Width="40px"></HeaderStyle>
    <ItemTemplate>
    <asp:Label id=lblCode runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Code") %>'>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    //循环取的DataGrid控件中选定项的值
    foreach(DataGridItem oDataGridItem in grid.Items)
    { chkExport = (CheckBox)oDataGridItem.FindControl("CheckBox1");
    //如果选中了则取值
    if(chkExport.Checked)
    {
    sID = ((Label)(oDataGridItem.FindControl("lblCode"))).Text;
    Code = Code + "'"+sID+"'" + ",";
    }
    }
      

  5.   

    你这个值是跟数据源绑定的,所以访问数据源就行了.
    要注意的是编辑刷新数据.
    访问值可以通过类似一下代码,
    如果DataGrid绑定的是DataView,
    DataRowView drv = (DataRowView)this.BindingContext[this.ds,this.ds.Tables[0].TableName].Current;
    获取到drv就可以改数据,
    DataRow dw = drv.Row; // 得到DataRow,
    bool b = (bool)dw[0];