一个datagrid嵌套radiobutton的问题 请问谁能告诉我datagrid 嵌套radiobutton的单选怎么实现啊我这不能实现单选 还有触发事件该怎么写呢 谁有这方面类似的例子 送我一个好吗?datalist嵌套radiobutton也行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用模版列:<asp:TemplateColumn HeaderText="選択"> <ItemTemplate> <input type=radio name="RadioButton" id="radioButton" onclick="doPostback();" value='<%# DataBinder.Eval(Container.DataItem, "No")%>' /> </ItemTemplate></asp:TemplateColumn> 事件是由模版列里的Command触发的。 在Page_Load中绑定数据时,要把绑定数据的代码放在if(!IsPostBack){}中 datagrid 显示数据内容如下: 姓名 年龄------------headerradiobutton 张三 15radiobutton 张四 15radiobutton 张五 15在下方还有两个TEXTBOX <Columns> <asp:TemplateColumn> <ItemTemplate> <INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"userid") %>'> </ItemTemplate> </asp:TemplateColumn> 在datagrid下方还有两个TEXTBOX姓名:TEXTBOX1 年龄:TEXTBOX2在选择了单选按钮的时候 下面的textbox显示相应的内容 cs代码该怎么填啊 onclick="fun_option(this)" 是javascript事件代码吗? //前台代码<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> //前台代码<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> 如果想通过点击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(); } } c#父子窗体问题 C# 正则表达式???应该很简单,小弟笨,呵呵 如何开发建模软件? 为什么会执行两次operator 新手请教:protected 问一个很雷人的问题,相当雷! 关于托盘控件 notifyIcon图标问题? 剛學C#很菜的一個問題,連接數據庫時SqlConnection為什麼我的會沒有Open方法呢 如何更改坐标原点? vs2005中datagridview在设计模式下手动添加出来的列。为什么不能用。 报警提示的问题! 同时调用数据库产生的错误
<input type=radio name="RadioButton" id="radioButton" onclick="doPostback();" value='<%# DataBinder.Eval(Container.DataItem, "No")%>' />
</ItemTemplate>
</asp:TemplateColumn>
if(!IsPostBack){}
中
姓名 年龄------------header
radiobutton 张三 15
radiobutton 张四 15
radiobutton 张五 15在下方还有两个TEXTBOX
<asp:TemplateColumn>
<ItemTemplate>
<INPUT id="radio" type="radio" name="radio" onclick="fun_option(this)" value='<%# DataBinder.Eval(Container.DataItem,"userid") %>'>
</ItemTemplate>
</asp:TemplateColumn>
cs代码该怎么填啊
是javascript事件代码吗?
<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>
<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>
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();
}
}