?
Solved

Listview selected items

Posted on 2014-03-19
6
Medium Priority
?
469 Views
Last Modified: 2014-03-22
I have a listview that has multiple columns in it.  I have the code to show the selected item, but the problem is if I select column 2 it shows column 2's item, if I select column 1, it shows columns 1's item.  Example:

Column1 | Column2
1                   4
2                   5
3                   6

If I click on the first row under Column1, it will show "1".  If I click on the first row under Column2, it will show "4".  I need it to show "1" no matter where I click on row 1.  I hope I this isn't to confusing.  Any help would be greatly appreciated.  
The code I am working with is:

        MsgBox(ListView1.SelectedItems.Item(0).Text)

Thanks in advance!

I am using VB.NET not C++ or C#.
0
Comment
Question by:russell12
  • 3
  • 2
6 Comments
 
LVL 37

Accepted Solution

by:
Kimputer earned 2000 total points
ID: 39941293
on load:

ListView1.FullRowSelect = True

Open in new window


and then
    Private Sub ListView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseUp
        Dim hti As ListViewHitTestInfo = ListView2.HitTest(e.Location)
        Dim val As String = hti.Item.SubItems(0).Text
        MsgBox(val)
    End Sub

Open in new window

0
 
LVL 25

Expert Comment

by:Luis Pérez
ID: 39941656
Your problem is here:

MsgBox(ListView1.SelectedItems.Item(0).Text)

You're showing a MsgBox with the Text of the first selected (SelectedItems.Item(0)) item in the ListView. So you have 2 issues:
You're showing always the text of the first selected item (that is not a problem if the MultiSelect property of your ListView is set to False).
You're showing always the text in the first column (Text property). It seems that is what you want to do, so this is right.

Hope that helps.
0
 
LVL 2

Author Comment

by:russell12
ID: 39942730
Kimputer:
I have not tried that solution yet.  I am going to try it tonight when I get home.  Thanks for the quick response.

Luis:
The listview property for multi-select is set to false.  The text in the first column is only displayed if I click the row in the first column, but if I click the row on the second column, the text from the second column is displayed.  I have tried it multiple time with same results.  You are correct, I want it to show column 1 text only no matter when I click on the row.
0
Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

 
LVL 25

Expert Comment

by:Luis Pérez
ID: 39942754
But that's not possible with your code:

MsgBox(ListView1.SelectedItems.Item(0).Text)

You're showing the .Text property of the item in 0 position of SelectedItems collection. So if you're showing the .Text property, it's the text in the first column.
0
 
LVL 2

Author Comment

by:russell12
ID: 39942873
I understand what you are saying trust me, thats why I am here.  I am using VB2012. The code I put is a copy and paste from my program to the web.
0
 
LVL 2

Author Closing Comment

by:russell12
ID: 39947904
Thanks for the quick response and help!!
0

Featured Post

Free recovery tool for Microsoft Active Directory

Veeam Explorer for Microsoft Active Directory provides fast and reliable object-level recovery for Active Directory from a single-pass, agentless backup or storage snapshot — without the need to restore an entire virtual machine or use third-party tools.

Question has a verified solution.

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

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
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…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses

807 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