利用radio实现Datagrid的单选

在datagrid中,我们可能会需要实现这种功能——列的单选,本身datagrid提供了select命令可以实现这种功能。另为也可以利用HTML 控件中的radiobutton来实现这样的功能,当然这也是我们所习惯的。       好的,现在来实现它。  首先在页面上加入DataGrid控件。 第一列设置为模板列,在项模板中加入label 再将datagrid绑定上数据 具体格式如下: 〈asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False" Width="176px" Height="22px"> 〈SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66">〈/SelectedItemStyle> 〈ItemStyle ForeColor="#330099" BackColor="White">〈/ItemStyle> 〈HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000">〈/HeaderStyle> 〈FooterStyle ForeColor="#330099" BackColor="#FFFFCC">〈/FooterStyle> 〈Columns> 〈asp:TemplateColumn HeaderText="Select"> 〈ItemTemplate> 〈asp:Label id="Label2" runat="server">〈/asp:Label> 〈/ItemTemplate> 〈/asp:TemplateColumn> 〈asp:BoundColumn DataField="a" HeaderText="Last Name">〈/asp:BoundColumn> 〈/Columns> 〈PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC">〈/PagerStyle> 〈/asp:DataGrid> 再在页面上加入一个label(用于显示我们在Datagrid中单选的项)和一个Button(查看选中项),如下: 〈asp:Label id="Label3" style="Z-INDEX: 103; LEFT: 222px; POSITION: absolute; TOP: 35px" runat="server" Width="184px">〈/asp:Label> 〈asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 218px; POSITION: absolute; TOP: 70px" runat="server" Text="Display Selected Value">〈/asp:Button〉     在后台代码中: 在DataGrid的ItemDataBound事件中          If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then             Dim lbl As Label             lbl  = e.Item.FindControl("Label2")             '加入radio             lbl .Text = "<input type=radio name='myradiogroup' value=" & e.Item.Cells(1).Text & ">"         End If 在Button的click事件中         Label3.Text = Request.Form("myradiogroup")         Dim i As DataGridItem         For Each i In DataGrid1.Items             If i.ItemType = ListItemType.AlternatingItem Or i.ItemType = ListItemType.Item Then                 Dim r As Label                 r = i.FindControl("Label2")                 If r.Text.IndexOf(Label3.Text) > 0 Then                     r.Text = "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & " checked>"                 Else                     r.Text = "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & ">"                 End If             End If         Next          好了,这样就可以实现利用radio实现Datagrid的单选的功能了。           如图:                          当我们选中其中一项,点击"查看选中内容"时,如图:         在vs.net2003、iis5.0测试通过。

  • 第一列设置为模板列,在项模板中加入label
  • 再将datagrid绑定上数据

具体格式如下: 〈asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4" AutoGenerateColumns="False" Width="176px" Height="22px"> 〈SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66">〈/SelectedItemStyle> 〈ItemStyle ForeColor="#330099" BackColor="White">〈/ItemStyle> 〈HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000">〈/HeaderStyle> 〈FooterStyle ForeColor="#330099" BackColor="#FFFFCC">〈/FooterStyle> 〈Columns> 〈asp:TemplateColumn HeaderText="Select"> 〈ItemTemplate> 〈asp:Label id="Label2" runat="server">〈/asp:Label> 〈/ItemTemplate> 〈/asp:TemplateColumn> 〈asp:BoundColumn DataField="a" HeaderText="Last Name">〈/asp:BoundColumn> 〈/Columns> 〈PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC">〈/PagerStyle> 〈/asp:DataGrid> 再在页面上加入一个label(用于显示我们在Datagrid中单选的项)和一个Button(查看选中项),如下: 〈asp:Label id="Label3" style="Z-INDEX: 103; LEFT: 222px; POSITION: absolute; TOP: 35px" runat="server" Width="184px">〈/asp:Label> 〈asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 218px; POSITION: absolute; TOP: 70px" runat="server" Text="Display Selected Value">〈/asp:Button〉     在后台代码中:

  • 在DataGrid的ItemDataBound事件中

         If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then             Dim lbl As Label             lbl  = e.Item.FindControl("Label2")             '加入radio             lbl .Text = "<input type=radio name='myradiogroup' value=" & e.Item.Cells(1).Text & ">"         End If

  • 在Button的click事件中

        Label3.Text = Request.Form("myradiogroup")         Dim i As DataGridItem         For Each i In DataGrid1.Items             If i.ItemType = ListItemType.AlternatingItem Or i.ItemType = ListItemType.Item Then                 Dim r As Label                 r = i.FindControl("Label2")                 If r.Text.IndexOf(Label3.Text) > 0 Then                     r.Text = "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & " checked>"                 Else                     r.Text = "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & ">"                 End If             End If         Next          好了,这样就可以实现利用radio实现Datagrid的单选的功能了。           如图:          当我们选中其中一项,点击"查看选中内容"时,如图: 在vs.net2003、iis5.0测试通过。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

七夕快到了!表白小程序制作详解,撩翻你的女神!

大家可能都会在抖音上刷过,那种表白小程序,但在我看来表白还是亲口说出来比较好,这类小程序只适合在平常的一些小节日给对方一个惊喜。话不多说,现在进入正题:

32910
来自专栏向治洪

9.png

 一、什么是9.png:         可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目...

273100
来自专栏Petrichor的专栏

Markdown 操作

  最开始是因为看到网上的教程写得很简洁漂亮,所以学的Markdown。个人感觉Markdown是一种学会了就回不去的语法,特别方便简洁。

30620
来自专栏Golang语言社区

神奇的go语言

目前,网上关于网页爬行的代码很多。但是,自从看了go语言的web下载代码之后,我才发现原来它的网页下载代码才是最简单的。不信的话,大家可以看一下, packag...

29050
来自专栏Python、Flask、Django

Go学习之 - 一个简单的web服务

13920
来自专栏菩提树下的杨过

Silverlight:MouseDragElementBehavior无法应用于ListBox的变相解决办法

Blend自带的行为MouseDragElementBehavior应用到ListBox后,如果用鼠标按住列表列拖动,没有任何效果,在多次尝试中意外发现,如果将...

24480
来自专栏Golang语言社区

Go语言操作mysql数据库简单例子

Go语言操作数据库非常的简单, 他也有一个类似JDBC的东西"database/sql" 实现类是"github.com/go-sql-driver/mysql...

39840
来自专栏非著名程序员

基础篇章:关于 React Native 之 RefreshControl 组件的讲解

(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 我们已经讲完了 ScrollView 和 L...

24850
来自专栏MasiMaro 的技术博文

菜单的使用

2)弹出式菜单:一般在顶级菜单上都有很多菜单项,单击这些菜单项时会弹出一个下拉式的菜单项,我们点击的这个菜单称为弹出式菜单

13240
来自专栏Android机器圈

Achartengine.jar绘制动态图形一 --饼图

PS:我们在做安卓程序的时候,免不了会做一些图形,自己可以选择自定义view ,就是用Canvas画,也可以用写好的jar包,就是achartengine.ja...

49880

扫码关注云+社区

领取腾讯云代金券