zoukankan      html  css  js  c++  java
  • 使用radion button选择datagrid的行(在datagrid中使用radio buttons)

          RadioButton 用来选择单一的选项,这篇文章介绍如何将这一种特性应用到DataGrid控件上。
          首先,我们知道所有在DataGrid中的控件在页面产生后会有一个单一的UniqueID,所以你将RadionButtonlist作为控件直接放到DataGrid中,即使将GroupName设置为相同,但在运行后也会不一样,所以该方法很难实现。也不是说不可以,我看到过有人在模板列中加入
                <ItemTemplate>
                 <input type="radio" id="rdoAction" runat="server" />
                 </ItemTemplate>
    然后用JS+HTTPXML技术不刷新重新整个页面,用JS绑定RadionButton的选中项,这方法也可行,但就是简单的问题被搞的复杂了。

             下面我介绍一种很简单的方法
              我们在DataGrid中创建一个模板列,然后在其中放入一个Label Web Control,在DataGrid的ItemDataBound事件中增加以下代码:
            If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
                Dim r As Label
                r = e.Item.FindControl("Label2")
                r.Text = "<input type=radio name='myradiogroup' value=" & e.Item.Cells(1).Text & ">"
            End If
    这样就在这个lable中输出了Radion button,这就使你在同时只能选中一个radion button.
             以上就等于完成了一部分的任务,后面就是要解决如何得到选中行的值。
             在任意一个button中增加事件
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.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
        End Sub

    这样就能保证选中的RadionButton在pageback后依然选中。
    这个方法极其简单的解决了RadionButton在DataGrid中的使用问题。

    相关代码下载:https://files.cnblogs.com/carlwave/radbuttonindatagrid.rar(VB.net)
  • 相关阅读:
    log4j配置详解
    elasticsearch6.0版本安装head插件
    JAVA笔记-如何将百万级数据高效的导出到Excel表单
    抽象方法为什么不能被private与static修饰
    vue利用promise实现连续弹框
    vue代码片段
    h5元素高度超出屏幕但不滚动
    css3动画
    vue 引入静态图片404
    ios windows.open()不能打开
  • 原文地址:https://www.cnblogs.com/SoulStore/p/717095.html
Copyright © 2011-2022 走看看