• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 794
  • Last Modified:

How: ListView with Checkboxes

Hello everyone,

I'm new to ListView.  I would really appreciate it if someone could show me a code sample that shows me how to have a ListView that contain columns showing the following:

1- "ID", "First Name", "Last name", "Description".
2- In a separate column titled Enabled, I would like to have checkboxes, and if possible, I would like when a checkbox is not checked, the raw shows as grayed out.
3- The ListView populated through an array of strings.
4- I would like to reorder my ListView by clicking any column header.
5- When I double click any raw I would like to get a Msgbox with all the information in the raw.

Thank a lot.
3 Solutions
Hello, I have written the code for you. This will solve the maximum purposes you have.
To test it add ListView on the Form.
Paste the following code in the Form Load
'Designing the ListView
Call LoadToList()
'Adding items
Call AddToList("E1", "Rachit", "Kohli", "Software Engineer")
Call AddToList("E2", "Mike", "Anderson", "Director")
Call AddToList("E3", "Kevin", "Htet", "CEO")
Call AddToList("E4", "Rockey", "Arnstein", "Dealer")
Call AddToList("E5", "Sara", "Jhonson", "Marketing")
Private Sub LoadToList()
        'Code to Design the ListView
        With ListView1
            .View = View.Details
            .AllowColumnReorder = True
            .FullRowSelect = True
            .GridLines = True
            .CheckBoxes = True
        End With
    End Sub
    Private Sub AddToList(ByVal strID As String, ByVal strFirstName As String, ByVal strLastName As String, ByVal strDescription As String)
        'Adding items to ListView
        Dim lsItem As ListViewItem
        With ListView1
            lsItem = .Items.Add(strID)
            .BackColor = Color.LightGray
        End With
    End Sub
    Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
        'Msgbox on Doubleclick
        With ListView1
            If .SelectedItems.Count > 0 Then
                MsgBox(.SelectedItems(0).SubItems(1).Text & " == " & .SelectedItems(0).SubItems(2).Text)
            End If
        End With
    End Sub
    Private Sub ListView1_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles ListView1.ItemChecked
        'Managing the color on item checked
        If e.Item.Checked Then
            e.Item.BackColor = Color.White
            e.Item.BackColor = Color.LightGray
        End If
    End Sub

Open in new window

Wael23Author Commented:
Thanks for all the replies, but none of these solutions solved the problem of the second requirement "checkbox in a Listview" and the fourth requirement "reorder by clicking any column header".

Am I missing something here??

Am I missing something here??
yes. Not all of the EE guy's can provide a perfect solution. Because of time, etc.
Most answers are given to help you reach your goal and to help you to go to the next level in your programming abilities..
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now