Сортировка Наблюдаемой Коллекции Неправильная сортировка - PullRequest
0 голосов
/ 20 августа 2011

У меня есть WPF ObservableCollection, которая связана с ListBox, и у меня есть метод Sort (), который при вызове преобразует ObservableCollection в List (Of T) и выполняет сортировку на основе столбца даты / времени в пределах коллекция.

Данные сортируются, даже когда в ObservableCollection добавляются новые элементы, однако дата / время сортируются неправильно. Данные сортируются по дате, однако они очень случайны, когда речь идет о временной части. Ниже приведен пример результатов, которые я испытываю:

Record-----Start Date
1          22/08/2011 22:00
3          22/08/2011 22:30
4          22/08/2011 14:00
2          22/08/2011 09:00
5          22/08/2011 21:00

В приведенном выше примере запись 5 была самым последним добавлением, она была добавлена ​​после первоначального связывания.

Мой метод сортировки () выглядит следующим образом:

Public Sub Sort()
  Dim SortedList As List(Of meetingDetails) = MyBase.ToList
  SortedList.Sort(New Comparison(Of meetingDetails)(Function(x As meetingDetails, _
                           y As meetingDetails)String.Compare(x.eStart, y.eStart)))
  For Each Item As meetingDetails In SortedList
    Move(IndexOf(Item), SortedList.IndexOf(Item))
    Next
End Sub

Что-то, что я делаю неправильно в этом методе, может привести к тому, что часть времени не будет включена в сортировку? Есть ли лучший способ сделать сортировку?

Спасибо

Мэтт

1 Ответ

1 голос
/ 20 августа 2011

Вы, кажется, используете String.Compare вместо DateTime.Compare, попробуйте изменить его и посмотреть, работает ли сортировка

...