У меня проблема с использованием DataGridView
, привязанного к реализации iBindingListView
(сторонняя dll), присоединенной к большой коллекции.
В моем типе коллекции есть определенное свойство с именем MyDateTime
, которое является классом значений, аналогичным DateTime, но также с некоторым устаревшим кодом.
Эта структура реализует iComparable
, iComparable<T>
и iEquatable<T>
.
У меня проблема в следующем:
Когда я применяю сортировку к iBindingListView
на MyDateTimeColumn
, он ВСЕГДА использует неуниверсальный iComparer
, вызывая сотни тысяч ненужных упаковок и распаковок.
Когда я использую автоматическую сортировку, предоставляемую DGV, она выполняет сортировку строк в столбце. Держать этот столбец «автоматический» вместо программного только для этого столбца было бы неприемлемым.
Когда я удаляю неуниверсальный iComparer, универсальный по-прежнему не используется, он просто сравнивает строки в .ToString ().
Я что-то упустил? Почему мой универсальный компаратор не называется bieng для сортировки?