【问题标题】:Get all selected values of CheckBoxList in VB.NET获取VB.NET中CheckBoxList的所有选中值
【发布时间】:2014-02-24 13:08:39
【问题描述】:

我使用了 ASP 的 CheckBoxList 控件。现在我想要的是在 VB 代码中获取所有选定的值。

HTML

<asp:CheckBoxList ID="chkbxlst_Users" runat="server" RepeatColumns="2" RepeatDirection="Vertical" RepeatLayout="Table"></asp:CheckBoxList>

VB

Protected Sub btnSaveSetProject_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveSetProject.Click
        Dim ds_selectedProjects As New DataSet
        Dim eStr As String = String.Empty
        Try

        Catch ex As Exception
            Me.ShowErrorMessage(ex.Message, "...btnSaveSetProject")
        End Try
    End Sub

点击保存按钮后,我想在数据集中获取所有选定项目的值和文本。

【问题讨论】:

  • 什么你的问题是什么?你知道如何获得选中的物品吗? “我想获取数据集中所有选定项的值和文本” 那么您是从DataSet 还是从CheckBoxList 获取它们?
  • 如果你想从复选框列表中获取所有选中的值:stackoverflow.com/questions/16571292/…

标签: asp.net vb.net checkboxlist


【解决方案1】:

试试这个..

 For Each li As ListItem In chkbxlst_Users.Items

            If li.Selected Then
               // add item data into your dataset
            Else
                // do whatever you need
            End If
        End If
    Next

【讨论】:

    【解决方案2】:

    你可以试试下面的代码:

      Protected Sub btnSaveSetProject_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSaveSetProject.Click
    
        Dim ds_selectedProjects As New DataSet
    
        Dim dt = New DataTable()
        Dim dcName = New DataColumn("Name", GetType(String))
        dt.Columns.Add(dcName)
    
        Dim eStr As String = String.Empty
        Try
            For Each checkBox As CheckBox In chkbxlst_Users.Items
                If (checkBox.Checked = True) Then
                    Dim dr As DataRow = dt.NewRow()
                    dr("ID") = checkBox.Text
                    dt.Rows.Add(dr)
                End If
            Next
            ds_selectedProjects.Tables.Add(dt)
        Catch ex As Exception
            'Me.ShowErrorMessage(ex.Message, "...btnSaveSetProject")
        End Try
    End Sub
    

    【讨论】:

    • 其实是一个ListItem。
    【解决方案3】:
    Try this code        
        Dim ds_selectedProjects As New DataSet
        Dim dt_selectedProjects As New DataTable
        dt_selectedProjects.Columns.Add("Value")
        dt_selectedProjects.Columns.Add("Text")
        Dim dr As DataRow
        For i = 0 To chkbxlst_Users.Items.Count - 1
            If chkbxlst_Users.Items(i).Selected Then
                dr = dt_selectedProjects.NewRow()
                dr("Value") = Val(chkbxlst_Users.Items(i).Value)
                dr("Text") = chkbxlst_Users.Items(i).Text
                dt_selectedProjects.Rows.Add(dr)
            End If
        Next
    
        ds_selectedProjects.Tables.Add(dt_selectedProjects)
    

    【讨论】:

      【解决方案4】:

      试试这个

         Dim str As [String] = ""
          For i As Integer = 0 To CheckBoxList1.Items.Count - 1
      
              If CheckBoxList1.Items(i).Selected Then
      
                  If str = "" Then
                      str = "'" + CheckBoxList1.Items(i).Value + "'"
                  Else
      
                      str += "," + "'" + CheckBoxList1.Items(i).Value + "'"
      
                  End If
              End If
          Next
          'display in a textbox or lable with ID txtmsg
          txtmsg.Text = str
      

      【讨论】:

        猜你喜欢
        • 2016-02-29
        • 2014-06-24
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        相关资源
        最近更新 更多