使用Radio按钮选择DataGrid行

转载 2004年10月29日 17:03:00

 

[日期:2004-10-7] 来源:http://www.cnblogs.com/xenogear/  作者:什么都不知道 [字体: ]

(读自http://www.dotnetbips.com/displayarticle.aspx?id=147 有源代码下载)
这个问题的出现是因为RadioButtons控件是不能直接加在DataGrid的模板列的。因为DataGrid会给每个单选按钮生成一个唯一名,这样这些单选按钮就不是一个组的了。

解决问题的办法是,在模板列中加入一个Label控件。在DataGrid的ItemDataBound事件中写<INPUT>元素,如:

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


如果要获得选中的值,就要用Request.Form来获取了

041007163415571.gif         Label3.Text = Request.Form("myradiogroup")
041007163415571.gif

如果在PostBack之后要保留状态,就要自己做了

041007163415571.gif        Dim i As DataGridItem
041007163415571.gif        
For Each i In DataGrid1.Items
041007163415571.gif            
If i.ItemType = ListItemType.AlternatingItem Or i.ItemType = ListItemType.Item Then
041007163415571.gif                
Dim r As Label
041007163415571.gif                r 
= i.FindControl("Label2")
041007163415571.gif                
If r.Text.IndexOf(Label3.Text) > 0 Then
041007163415571.gif                    r.Text 
= "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & " checked>"
041007163415571.gif
                Else
041007163415571.gif                    r.Text 
= "<input type=radio name='myradiogroup' value=" & i.Cells(1).Text & ">"
041007163415571.gif
                End If
041007163415571.gif            
End If
041007163415571.gif        
Next
041007163415571.gif

EasyUI——DataGrid中嵌入Radio

前一篇博客写到项目中的广告位管理,当时没有写到今天的问题,这个问题当时也是困扰我好久。经过自己的努力和同志们的帮助,最后终于解决。 实现要求把所有的广告位后面的单选按钮设成一组,目的是一个广告位只能显...
  • u010926964
  • u010926964
  • 2015年07月20日 10:45
  • 5047

datagrid之类的组件中行内按钮点击和行点击事件问题

复制一张妹子做的图片,希望她看到之后不要打我 datagrid之类的组件中行内按钮点击和行点击事件同时发生的问题, 解决办法: event.stopPropagation();...
  • yipanbo
  • yipanbo
  • 2016年08月26日 17:09
  • 1245

利用radio实现Datagrid的单选

          在datagrid中,我们可能会需要实现这种功能——列的单选,本身datagrid提供了select命令可以实现这种功能。另为也可以利用HTML 控件中的radiobutton来实...
  • guoyan19811021
  • guoyan19811021
  • 2004年02月12日 14:23
  • 1984

Easyui datagrid 取消选择行

Easyui datagrid 取消选择行: //取消选择行 $('#dg_id').datagrid('clearSelections');
  • heyangyi_19940703
  • heyangyi_19940703
  • 2016年09月07日 11:35
  • 10531

datagrid行内按钮做操作

UI:
  • pengshumin89
  • pengshumin89
  • 2013年02月26日 09:57
  • 960

Flex中DataGrid获取被选中的行

  • vipliyaohua
  • vipliyaohua
  • 2011年07月06日 22:53
  • 7347

Span模拟单选按钮Radio

Span模拟单选按钮Radio
  • netuser1937
  • netuser1937
  • 2017年02月09日 08:45
  • 822

easyui datagrid自定义按钮列,即最后面的操作列(实现方式一)

easyui datagrid自定义按钮列,即最后面的操作列
  • crl2518528
  • crl2518528
  • 2016年09月08日 10:51
  • 976

在WPF的DataGrid中对行添加单击事件

在做的一个c#的项目中发现Datagrid没办法直接对鼠标单击进行响应,调用MouseDown事件也需要点击某一行第二次才能响应。所以借助EventSetter来简单的实现了一个。界面部分的代码 ...
  • qq_22033759
  • qq_22033759
  • 2016年08月28日 00:56
  • 7705

datagrid实现单行的选择、取消

jQuery EasyUI Demo function getSelected(){ var row = $('#tt').datagrid('getSelected')...
  • zhao1949
  • zhao1949
  • 2016年11月28日 15:40
  • 2669
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Radio按钮选择DataGrid行
举报原因:
原因补充:

(最多只允许输入30个字)