Question

I've used ASP's CheckBoxList control. Now what I want is to get the all selected values in VB code.

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

On this Save button's click I want to get all the selected items' value and text in dataset.

Was it helpful?

Solution 2

You can try following code:

  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

OTHER TIPS

try this..

 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
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)

Try this

   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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top