你用checkbox,然后用CheckBox checkbox= datagrid.item[index].findcontrol("checkboxname");来查找到这个checkbox的值,然后...radiobutton也一样啊,不过你需要选择的话,建议你采用checkbox.

解决方案 »

  1.   

    crystal2000(Sun):
    我是只想选择一行,是单选的,而不是可以象CheckBox一样是多选的,我应该怎么做呀
      

  2.   

    将RadioButton的GroupName 设一个值!这样就可以单选!
      

  3.   

    zhq2000(俗子):我是这样设的为什么不行呀   <asp:TemplateColumn HeaderText="选 择" 
           HeaderStyle-HorizontalAlign="center">
    <ItemTemplate> 
    <asp:RadioButton id= "ckb_Select" runat="server" GroupName="Group1" style="center" width="1"/>
    </ItemTemplate> 
    </asp:TemplateColumn> 
      

  4.   

    显应ItemDataBinding事件,在里面加入:if( e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType== ListItemType.Item)
    {
         RadioButton rb = (RadioButton) GetTypedControl( e.Item.Cells[0] , typeof(RadioButton);
         rb.GroupName = "MySelectGroup";
         // ID也可以设!
    }
    ---------------------------------------
    增加一辅助函数:
    private Control GetTypedControl( Control theParent , Type t)
    {
    foreach(Control ctrl in theParent.Controls )
    {
    if( ctrl.GetType() == t )
    {
    return ctrl;
    }
    }
    }
      

  5.   

    zhq2000(俗子):不好意思,我没装VS.Net开发环境,现在只用Editplus在写,可不可以把那个函数参数,返回值等等都贴给我看看呀,谢谢你了
      

  6.   

    是ItemDataBinding事件的函数原型贴一下
      

  7.   

    对不起,刚才我自己试了,没用,用这个:
    <asp:TemplateColumn>
    <ItemTemplate>
    <INPUT id="Radio1" type="radio" value='<%# DataBinder.Eval(Container, "DataItem.关键字段名") %>' name="MyGroup">
    </ItemTemplate>
    </asp:TemplateColumn>这个可以正常工作, 当要找出哪一个被选择,通过:
    string myKey = Request.Form["MyGroup"];
      

  8.   

    谢谢zhq2000(俗子),十分感谢!!!