How to sort ListView items when ListView is in VirtualMode?

TL picture TL · Sep 2, 2009 · Viewed 8.2k times · Source

I realize i have to sort the collection where the ListView gathers the items from:
ListView listCollection = new ListView();

But this doesn't seem to work unless the ListView is added as a GUI-control to the form, that in turn makes it very slow to add items to, hence why i have to use VirtualMode on my GUI-ListView in the first place.

Anyone know how to go about this or point me in the right direction?

Answer

bernhof picture bernhof · Sep 2, 2009

basically, you will need to apply sort to the data pump itself.

I did a quick search on Google for listview sort virtualmode. First result was this page, where the above quote was taken from.

For example, if your datasource is a DataView, apply sorting on this instead of the ListView.

If it is just a question of performance when adding items, I would do as barism suggests; use BeginUpdate/EndUpdate instead of VirtualMode.

try {
  listView1.BeginUpdate();
  // add items
}
finally {
  listView1.EndUpdate();
}