• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 797
  • 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.
0
Wael23
Asked:
Wael23
3 Solutions
 
rachitkohliCommented:
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
 
            .Columns.Add("ID")
            .Columns.Add("FirstName")
            .Columns.Add("LastName")
            .Columns.Add("Description")
 
            .AllowColumnReorder = True
            .FullRowSelect = True
            .GridLines = True
            .CheckBoxes = True
            .Items.Clear()
        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)
            lsItem.SubItems.Add(strFirstName)
            lsItem.SubItems.Add(strLastName)
            lsItem.SubItems.Add(strDescription)
            .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
        Else
            e.Item.BackColor = Color.LightGray
        End If
    End Sub

Open in new window

0
 
planoczCommented:
0
 
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??

0
 
planoczCommented:
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..
0
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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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