i want to get the row(s) when the checkbox is check/uncheck in the listview.. thank u...

For Each Item In CheckedItems
   If (Item.SubItems(4).Text) = "Cash" Then
	'Code Here
   ElseIf (Item.SubItems(4).Text) = "Check" Then	
	'Code Here
   End If
Next
        
  If (e.CurrentValue = CheckState.Checked) Then
    If LstvwBankDeposits.Items(0).SubItems(4).Text = "Cash" Then
	'Code Here
    ElseIf LstvwBankDeposits.Items(0).SubItems(4).Text = "Check" Then
      'Code Here
    End If

  ElseIf (e.CurrentValue = CheckState.Unchecked) Then
   If LstvwBankDeposits.Items(0).SubItems(4).Text = "Cash" Then
	'Code Here
   ElseIf LstvwBankDeposits.Items(0).SubItems(4).Text = "Check" Then
	'Code Here
   End if 
  End if

Recommended Answers

See if this helps.

For Each itm As ListViewItem In ListView1.Items
            If itm.Checked Then
                MsgBox("item checked: " & itm.Text)
            Else
                MsgBox("item NOT checked: " & itm.Text)
            End If
        Next
Jump to Post
For Each cb As Control In Me.Controls
    If cb.GetType.ToString = "System.Windows.Forms.CheckBox" Then
        boxNo = cb.Name()
        boxNo = boxNo.Substring(4)
	Dim tempCB As CheckBox = DirectCast(cb, CheckBox)
                                
        If tempCB.Checked = True Then
           MsgBox("Checked" & boxNo)
        Else
           MsgBox("Unchecked" & boxNo)
        End If
                               
     End If
Next

The SubString() line will remove …

Jump to Post

thank u for that...
still it is not working properly...
if i check the checkbox a msgbox will pop up.. "item NOT checked"...

Try my code in a New Project and let me know if you get the same results.

Jump to Post

All 10 Replies

See if this helps.

For Each itm As ListViewItem In ListView1.Items
            If itm.Checked Then
                MsgBox("item checked: " & itm.Text)
            Else
                MsgBox("item NOT checked: " & itm.Text)
            End If
        Next
commented: Great... yoU are Great... +1

thank u for that...
still it is not working properly...
if i check the checkbox a msgbox will pop up.. "item NOT checked"...

For Each cb As Control In Me.Controls
    If cb.GetType.ToString = "System.Windows.Forms.CheckBox" Then
        boxNo = cb.Name()
        boxNo = boxNo.Substring(4)
	Dim tempCB As CheckBox = DirectCast(cb, CheckBox)
                                
        If tempCB.Checked = True Then
           MsgBox("Checked" & boxNo)
        Else
           MsgBox("Unchecked" & boxNo)
        End If
                               
     End If
Next

The SubString() line will remove the first 4 characters and keep the remaining. Normally, the name of the box has a number at the end. Simply take the number of characters before the number and place it here.

thank u for that...
still it is not working properly...
if i check the checkbox a msgbox will pop up.. "item NOT checked"...

Try my code in a New Project and let me know if you get the same results.

Try my code in a New Project and let me know if you get the same results.

what do you mean? where i can find that... thanx..

Start a new project. Only add a ListView (with checkboxes) and a Button.
Load some items in the ListView and test the code I have posted. It should respond as needed.

Try my code in a New Project and let me know if you get the same results.

sorry for that... what i mean is, if the user checks the lstvw in runtime it cannot detect if that row is check if i put it in itemcheck... hope it is clear... tnx

Please post your entire code in the Sub that checks for checked/not checked items.

Please post your entire code in the Sub that checks for checked/not checked items.

Private Sub LstvwBankDeposits_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles LstvwBankDeposits.ItemCheck
        Try
            Dim Cash As Double = 0.0
            Dim Cheque As Double = 0.0
            Dim Other As Double = 0.0

            Dim CheckedItems As ListView.CheckedListViewItemCollection = LstvwBankDeposits.CheckedItems
            Dim Item As New ListViewItem

            For Each Item In CheckedItems
                If (Item.SubItems(4).Text) = "Check" Then
                    Cheque += Double.Parse(Item.SubItems(3).Text)
                    LblTotalCheques.Text = CType(Cheque, String)
                    LblTotalCheques.Text = FormatNumber(LblTotalCheques.Text, 2)

                ElseIf (Item.SubItems(4).Text) = "Cash" Then
                    Cash += Double.Parse(Item.SubItems(3).Text)
                    LblTotalCash.Text = CType(Cash, String)
                    LblTotalCash.Text = FormatNumber(LblTotalCash.Text, 2)
                End If
            Next

            If LstvwBankDeposits.Items(1).SubItems(4).Text = "Cash" Then
                If e.CurrentValue = CheckState.Unchecked Then
                    Cash += Double.Parse(Me.LstvwBankDeposits.Items(e.Index).SubItems(3).Text)
                    LblTotalCash.Text = CType(Cash, String)
                    LblTotalCash.Text = FormatNumber(LblTotalCash.Text, 2)
                ElseIf e.CurrentValue = CheckState.Checked Then
                    Cash -= Double.Parse(Me.LstvwBankDeposits.Items(e.Index).SubItems(3).Text)
                    LblTotalCash.Text = CType(Cash, String)
                    LblTotalCash.Text = FormatNumber(LblTotalCash.Text, 2)
                End If

            ElseIf LstvwBankDeposits.Items(1).SubItems(4).Text = "Check" Then
                If e.CurrentValue = CheckState.Unchecked Then
                    Cheque += Double.Parse(Me.LstvwBankDeposits.Items(e.Index).SubItems(3).Text)
                    LblTotalCheques.Text = CType(Cheque, String)
                    LblTotalCheques.Text = FormatNumber(LblTotalCheques.Text, 2)
                ElseIf e.CurrentValue = CheckState.Checked Then
                    Cheque -= Double.Parse(Me.LstvwBankDeposits.Items(e.Index).SubItems(3).Text)
                    LblTotalCheques.Text = CType(Cheque, String)
                    LblTotalCheques.Text = FormatNumber(LblTotalCheques.Text, 2)
                End If

            End If
          

        Catch ex As Exception
            MsgBox(Err.Description, MsgBoxStyle.OkOnly, "Error")
        End Try
    End Sub

See if this helps.

Private Cash As Double = 0.0, Cheque As Double = 0.0, Other As Double = 0.0 '// declare once.

    Private Sub LstvwBankDeposits_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles LstvwBankDeposits.ItemChecked
        LblTotalCheques.Text = "0.0" : LblTotalCash.Text = "0.0" '// reset to 0.
        Cash = 0.0 : Cheque = 0.0 : Other = 0.0 '// reset to 0.
        For Each lvItem As ListViewItem In LstvwBankDeposits.CheckedItems '// Loop through only the Checked items.
            Select Case lvItem.SubItems(4).Text
                Case "Cash"
                    Cash += Double.Parse(lvItem.SubItems(3).Text)
                    With LblTotalCash
                        .Text = CType(Cash, String)
                        .Text = FormatNumber(.Text, 2)
                    End With
                Case "Check"
                    Cheque += Double.Parse(lvItem.SubItems(3).Text)
                    With LblTotalCheques
                        .Text = CType(Cheque, String)
                        .Text = FormatNumber(.Text, 2)
                    End With
            End Select
        Next
    End Sub
Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.