什么意思?单选框本来就是只有一个被选中,如果要设初始值的话,直接在BoundItem事件里处理就OK了

解决方案 »

  1.   

    如下方法看是否可行,假设DataGrid的ID为DataGrid1,第一列为Radio选择列,如下:
    <asp:TemplateColumn HeaderText="Select">
    <ItemTemplate>
    <input type="radio" runat="server" id="rdo" name="rdoGroup" onclick="SingleRadioCheck(this)">
    </ItemTemplate>
    </asp:TemplateColumn>相关js函数:
    function SingleRadioCheck(eventObj)
    {
    with(document.all)
    {
    var objs = DataGrid1.getElementsByTagName("INPUT");
    for(var i=0,j=objs.length;i<j;i++)
    {
    if(objs[i].type.toLowerCase()=="radio")
    {
    objs[i].checked = false;
    }
    }

    eventObj.checked = true;
    }
    }
      

  2.   

    把你的单选框加入一个组里面 GroupBox 或 Panel内
      

  3.   

    RadioButtonList控件,它可以设置成一组.
      

  4.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=20789
      

  5.   

    吉祥给的这个帖子好像不能够一行对一行的,那个radiobuttonlist是在一行内的,我想楼主要的是每一行一个radiobutton吧。我觉得你可以在select 语句中增加一个html片断来写radiobutton 这样的话就可以每行都有一个radiobutton而且所有的radiobutton的名字都是一样得了。
      

  6.   

    用客户端脚本任意一个checkbox状态改变时即触发相应函数
    此函数做两件事:
    1、将上次选中的checkbox取消选中
    2、保留此次选中的checkbox的id,以备下次定位
      

  7.   

    拖一个<input type=hidden id=CheckID>进去
    在<head>里写一段<script>
    function check(id)
    {
      chk = document.getElementByID(CheckID.value);
      if (chk != null)
      {
        chk.checked = false;
      }
      CheckID.value = id;
    }在ItemDataBound里
    CheckBox chk = (CheckBox)e.Item.FindControl(你CheckBox的ID);
    chk.Attbutes["OnChange"] = "JavaScript: check('" + chk.ClientID + "');";