?
Solved

How: ListView with Checkboxes

Posted on 2008-06-11
5
Medium Priority
?
788 Views
Last Modified: 2008-07-03
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
Comment
Question by:Wael23
5 Comments
 
LVL 6

Assisted Solution

by:Bruce_1975
Bruce_1975 earned 150 total points
ID: 21766924
0
 
LVL 14

Accepted Solution

by:
rachitkohli earned 900 total points
ID: 21767887
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
 
LVL 27

Assisted Solution

by:planocz
planocz earned 450 total points
ID: 21774059
0
 

Author Comment

by:Wael23
ID: 21839847
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
 
LVL 27

Expert Comment

by:planocz
ID: 21845815
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

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This video shows how to quickly and easily deploy an email signature for all users in Office 365 and prevent it from being added to replies and forwards. (the resulting signature is applied on the server level in Exchange Online) The email signat…
As many of you are aware about Scanpst.exe utility which is owned by Microsoft itself to repair inaccessible or damaged PST files, but the question is do you really think Scanpst.exe is capable to repair all sorts of PST related corruption issues?
Suggested Courses
Course of the Month17 days, 3 hours left to enroll

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question