主datagrid和子datagrid中同时嵌套radio,点击主datagrid中的一行时,子datagrid会显示其详细信息,我想实现当对相应的子datagrid中的一行选中时,主datagrid的对应行也选中,以显示他们的主子对应关系,请问如何实现??
代码如下:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<script language="javascript">

var beselected = false;

function _select(cid)
{
// 单选
beselected = true;

// 放入隐藏文本框中
document.all("hid").value=cid;

// 加载第二个datagrid
document.all("btn").click();
}
</script>

<script language="javascript">

var beselected = false;
if(document.all("hid").value!="")
{
document.all(document.all("hid").value).checked=true;
}

function _select1(gid)
{
// 单选
beselected = true;

// 放入隐藏文本框中
document.all("TextBox2").value=gid;

// 加载第二个datagrid
document.all("Button2").click();
}
</script>

</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button id="Buttonxg" style="Z-INDEX: 103; LEFT: 504px; POSITION: absolute; TOP: 24px" runat="server"
Text="修改"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 105; LEFT: 376px; POSITION: absolute; TOP: 64px" runat="server"
Text="Button"></asp:Button>
<asp:TextBox id="TextBox2" style="Z-INDEX: 104; LEFT: 336px; POSITION: absolute; TOP: 24px" runat="server"></asp:TextBox>
<asp:textbox id="hid" Runat="server"></asp:textbox><asp:button id="btn" Runat="server"></asp:button>
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 56px" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<input type="radio" id='<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>' name="primaryKey" value='<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>' onclick="_select('<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>')">
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="CompanyName" HeaderText="公司名称"></asp:BoundColumn>
<asp:BoundColumn DataField="City" HeaderText="城市"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
<asp:DataGrid id="DataGrid2" style="Z-INDEX: 102; LEFT: 496px; POSITION: absolute; TOP: 56px"
runat="server">
<Columns>
<asp:TemplateColumn HeaderText="操作">
<ItemTemplate>
<FONT face="宋体"><INPUT type="radio" id='<%# DataBinder.Eval(Container.DataItem,"OrderID")%>' name="primaryKey" value='<%# DataBinder.Eval(Container.DataItem,"OrderID")%>' onclick="_select1('<%# DataBinder.Eval(Container.DataItem,"OrderID")%>')"></FONT>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
<script language="javascript">
// 重新将radio选中
if(document.all("hid").value!="")
{
document.all(document.all("hid").value).checked=true;
}
</script>

<script language="javascript">
// 重新将radio选中
if(document.all("TextBox2").value!="" && document.all("hid").value!="")
{
//     if(document.all("hid").value!="")
//     {
        document.all(document.all("hid").value).checked=true;
    document.all(document.all("TextBox2").value).checked=true;
    
// }
}
</script>
</body>
</HTML>

解决方案 »

  1.   

    <form name="form1" method="post" action="">
      <input type="radio" name="radiobutton" value="radiobutton">
      <input type="radio" name="radiobutton" value="radiobutton">
    </form>
    这样只能选一个,但是如果name不同的话就可以同时选了。
    多选为什么不用CheckBox或CheckBoxList?那个可以多选的啊?
      

  2.   

    <form name="form1" method="post" action="">
      <input type="radio" name="radiobutton1" value="radiobutton">
      <input type="radio" name="radiobutton2" value="radiobutton">
    </form>
      

  3.   

    哦,原来WEB的 使用不同的名称就可以了
      

  4.   

    原来是用的checkbox,我说的是在两个datagrid中选中两行,不是在一个datagrid中选中两行,还有啊是不是在一个页面中只有一个radio可以被选中?小妹初学C#,各位大虾多指教了,多谢多谢!
      

  5.   

    多谢tiaoci(我挑刺,我快乐) ,已解决,都怪我粗心了,没有看到名字