Listview

C

Chris

Hi all,

I have a listview box which is populated from a List<T> collection. The
items in this collection are generated from a user filled out form.
The items in the listview have the same index as the ones in List<T>, so I
have an event which loops through the ListView, and if selected = true, the
data from the corresponding List<T> is used to populate a form - so in
effect creating an edit function. On Editing the data, the ListView is
regenerated, reading it's needed data from List<T> items (effectively
updating itself).
Is there any easier way to do this? It works fine, but I want to add search
capabilities to the ListView items, which if sorted, would no longer share
the same index as the List<T> items. One solution is to resort List<T>
(perhaps having a TempList<T>) so as to show only specific items and ensure
List<T> and ListView indexes still match. Or should I create a int field of
the List<T> items which has a permanent unique index and use this?

What is usually done in such circumstances?
Any help would be appreciated,

Chris
 
M

Michael Höhne

You could use the ListItem.Tag property to store a reference to the
displayed object. (listView.SelectedItems[0].Tag as YourType) will be the
object you want to edit (assuming that only one item can be selected). Any
modifications will make it in your basic list as you use the same objects
and you can use any sort order you want.

Michael
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top