请问谁能告诉我datagrid 嵌套radiobutton的单选怎么实现啊
我这不能实现单选 还有触发事件该怎么写呢 谁有这方面类似的例子 送我一个好吗?
datalist嵌套radiobutton也行

解决方案 »

  1.   

    使用模版列:<asp:TemplateColumn HeaderText="選択"> <ItemTemplate>
    <input type=radio name="RadioButton" id="radioButton"  onclick="doPostback();" value='<%# DataBinder.Eval(Container.DataItem, "No")%>' />
    </ItemTemplate>
    </asp:TemplateColumn>
      

  2.   

    事件是由模版列里的Command触发的。
      

  3.   

    在Page_Load中绑定数据时,要把绑定数据的代码放在
    if(!IsPostBack){}
      

  4.   

    datagrid 显示数据内容如下:
                    姓名      年龄------------header
    radiobutton     张三       15
    radiobutton     张四       15
    radiobutton     张五       15在下方还有两个TEXTBOX
      

  5.   

    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"userid") %>'>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   

    在datagrid下方还有两个TEXTBOX姓名:TEXTBOX1 年龄:TEXTBOX2在选择了单选按钮的时候 下面的textbox显示相应的内容 
    cs代码该怎么填啊
      

  7.   

    onclick="fun_option(this)" 
    是javascript事件代码吗?
      

  8.   

    //前台代码
    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 160px"
    runat="server" Width="584px" AutoGenerateColumns="False" AllowSorting="True">
    <HeaderStyle HorizontalAlign="Center" BackColor="#CC9AAC"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"userid") %>'>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn></asp:TemplateColumn>
    <asp:BoundColumn DataField="userid" SortExpression="userid" HeaderText="代号"></asp:BoundColumn>
    <asp:BoundColumn DataField="username" SortExpression="username" HeaderText="姓名"></asp:BoundColumn>


    </Columns>
    <PagerStyle HorizontalAlign="Center"></PagerStyle>
    </asp:datagrid>
    //hiden控件
    <INPUT id="hiduserid" type="hidden" size="10" name="hiduserid" runat="server">
    //js
    <script language="javascript">
    function fun_option(obj)
    {
    document.WebForm1.hiduserid.value=obj.value;
    }
    </script>
      

  9.   

    //前台代码
    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 160px"
    runat="server" Width="584px" AutoGenerateColumns="False" AllowSorting="True">
    <HeaderStyle HorizontalAlign="Center" BackColor="#CC9AAC"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"userid") %>'>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn></asp:TemplateColumn>
    <asp:BoundColumn DataField="userid" SortExpression="userid" HeaderText="代号"></asp:BoundColumn>
    <asp:BoundColumn DataField="username" SortExpression="username" HeaderText="姓名"></asp:BoundColumn>


    </Columns>
    <PagerStyle HorizontalAlign="Center"></PagerStyle>
    </asp:datagrid>
    //hiden控件
    <INPUT id="hiduserid" type="hidden" size="10" name="hiduserid" runat="server">
    //js
    <script language="javascript">
    function fun_option(obj)
    {
    document.WebForm1.hiduserid.value=obj.value;
    }
    </script>
      

  10.   

    如果想通过点击radiobutton在服务端响应,其基本原理是一样的。首先是通过javascript获得点击得radiobutton的index,通常radiobutton是数据的主键。然后将index保存在页面中的隐藏域中,回发给服务器。以下代码中,doPostback()方法,就是在客户点击radiobutton之后,将点击的No号,保存在hidden控件中然后回发给服务端。服务端的数据源根据这个主键No可以取得相应的所有数据。如果你想给Textbox赋值的话,甚至不需要回发服务端,客户端脚本就可以完成这个工作。<script language="javascript">
    function doPostback()
    {
        for(var i=0; i<document.all.RadioButton.length; i++)
        {
         if(document.all.RadioButton[i].checked)
         {
         document.Form1.rd.value = i.toString();
         break;
         }
        }
        document.Form1.submit();
    }</script><Columns>
    <asp:TemplateColumn HeaderText="選択">
    <ItemTemplate>
    <input type=radio name="RadioButton" id="radioButton"  onclick="doPostback();" value='<%# DataBinder.Eval(Container.DataItem, "No")%>' />
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Name">
    <ItemTemplate>
    <asp:Label Runat=server id="item_name" text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' />
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox Runat="server" ID="edit_Name" text='<%# DataBinder.Eval(Container.DataItem, "Name") %>' />
    </EditItemTemplate>
    </asp:TemplateColumn>
    <!-- ... -->
    </Columns>
    <input name="rd" id="rd" type="hidden"> =========================================================================Code behind : WebForm1.aspxprivate void Page_Load(object sender, System.EventArgs e)
    {
    string strIndex;
    if( Request.Params["rd"] != null )
    {
    strIndex = Request.Params["rd"].ToString();
    //Select radio button post back.
    if( strIndex != "" )
    {
    this.DataGrid1.SelectedIndex = Convert.ToInt32(strIndex); }
    }
    if( !Page.IsPostBack )
    { BindDataFromDB();

    }

    }