在DataGrid中添加Radio(单选按钮)列

查看例子

1@ Page Language="C#" AutoEventWireup="True" EnableViewState = "true"
1@ Import Namespace="System.Data" 
 1<html>
 2<script runat="server">   
 3DataTable Cart;   
 4DataView CartView;   
 5ICollection CreateDataSource()   
 6{   
 7DataTable dt = new DataTable();   
 8DataRow dr;   
 9  
10dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));   
11dt.Columns.Add(new DataColumn("StringValue", typeof(string)));   
12dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));   
13  
14for (int i = 0; i < 101; i++)   
15{   
16dr = dt.NewRow();   
17dr[0] = i;   
18dr[1] = "Item " + i.ToString();   
19dr[2] = 1.23 * (i+1);   
20dt.Rows.Add(dr);   
21}   
22  
23DataView dv = new DataView(dt);   
24return dv;   
25} 
26
27void Page_Load(Object sender, EventArgs e)   
28{   
29string js = "";   
30js+="<script>\r\n";   
31js+="function ld(){\r\n";   
32js+="for(i=0;i<document.getElementsByName('RadioName').length;i++)\r\n";   
33js+="if(document.getElementsByName('RadioName')[i].value==";   
34js+="document.getElementById('" + rd.ClientID + "').value) ";   
35js+="document.getElementsByName('RadioName')[i].checked=true\r\n";   
36js+="}\r\n";   
37js+="window.onload=ld\r\n";   
38js+="</"+"script>\r\n";   
39this.RegisterStartupScript("js",js);   
40if (!IsPostBack)   
41{   
42ItemsGrid.DataSource = CreateDataSource();   
43ItemsGrid.DataBind();   
44}   
45}   
46void Grid_Change(Object sender, DataGridPageChangedEventArgs e)   
47{   
48ItemsGrid.CurrentPageIndex = e.NewPageIndex;   
49ItemsGrid.DataSource = CreateDataSource();   
50ItemsGrid.DataBind();   
51}   
52void btnClick(Object sender, EventArgs e)   
53{   
54if(Request.Form["RadioName"] != null)   
55{   
56rd.Value = Request.Form["RadioName"].ToString();   
57Label1.Text = "您所选择的是:<font color=red>" + Request.Form["RadioName"].ToString() +"</font>";   
58}   
59}   
60  
61</script>
62<body>
63<form id="MM" runat="server">
64<input id="rd" runat="server/" type="hidden"/>
65<asp:datagrid allowpaging="true" autogeneratecolumns="false" bordercolor="black" borderwidth="1" cellpadding="3" id="ItemsGrid" onpageindexchanged="Grid_Change" runat="server">
66<headerstyle backcolor="#00aaaa"></headerstyle>
67<pagerstyle mode="NumericPages"></pagerstyle>
68<columns>
69<asp:templatecolumn>
70<itemtemplate>
71<input name="RadioName" type="radio" value='```
72# DataBinder.Eval(Container.DataItem, "IntegerValue")
73```'>
74</input></itemtemplate>
75</asp:templatecolumn>
76<asp:boundcolumn datafield="IntegerValue" headertext="数字列"></asp:boundcolumn>
77<asp:boundcolumn datafield="StringValue" headertext="字符串列"></asp:boundcolumn>
78<asp:boundcolumn datafield="CurrencyValue" dataformatstring="{0:c}" headertext="货币列">
79<itemstyle horizontalalign="right"></itemstyle>
80</asp:boundcolumn>
81</columns>
82</asp:datagrid>
83<br/>
84<asp:button id="Btn" onclick="btnClick" runat="server" text="看你选择的"></asp:button>
85<asp:label id="Label1" runat="server" text=""></asp:label>
86</form>
87</body>
88</html>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus