Hier heb ik de source van de ItemComparer vandaan:
http://www.c-sharpcorner.com/uploadfile/nipuntomar/sort-a-multicolumn-listview-in-C-Sharp/
En dit heb ik gebruikt in Form1:
[js] {
ItemComparer sorter = listView1.ListViewItemSorter as ItemComparer;
if (sorter == null)
{
sorter = new ItemComparer(e.Column);
sorter.Order = SortOrder.Ascending;
listView1.ListViewItemSorter = sorter;
}
// if clicked column is already the column that is being sorted
if (e.Column == sorter.Column)
{
// Reverse the current sort direction
if (sorter.Order == SortOrder.Ascending)
sorter.Order = SortOrder.Descending;
else
sorter.Order = SortOrder.Ascending;
}
else
{
// Set the column number that is to be sorted; default to ascending.
sorter.Column = e.Column;
sorter.Order = SortOrder.Ascending;
}
listView1.Sort();
}
private void FillItems()
{
addItems(new string[] { "Aalbessen", "13:20:00", "4", "27" });
addItems(new string[] { "Aardappels", "13:00:00", "4", "17" });
addItems(new string[] { "Basilicum", "09:00:00", "3", "38", });
addItems(new string[] { "Bloemkolen", "12:00:00", "4", "13", });
addItems(new string[] { "Bosbessen", "12:00:00", "4", "25", });
addItems(new string[] { "Mirabellen", "14:40:00", "6", "29", });
addItems(new string[] { "Noten", "103:20:00", "13", "35", });
addItems(new string[] { "Olijven", "113:20:00", "13", "36", });
addItems(new string[] { "Rode Kolen", "120:00:00", "13", "37", });
addItems(new string[] { "Spinazie", "13:20:00", "4", "10", });
addItems(new string[] { "Tomaten", "09:50:00", "5", "8", });
addItems(new string[] { "Uien", "08:20:00", "4", "9", });
}
private void addItems(string[] items)
{
if (listView1.Columns.Count == items.Length)
{
ListViewItem item = new ListViewItem(items[0]);
for (int i = 1; i < items.Length; i++)
{
item.SubItems.Add(items
);
}
listView1.Items.Add(item);
}
}[/js]
In het plaatje in mijn eerste post was de tijd in hh:mm, ik heb het aangepast en veranderd in hh:mm:ss 
En dan werkt het sorteren, maar hoe moet ik timespan dan gebruiken?