WPF Toolkit DataGrid: сортировка с нулевыми значениями - PullRequest
2 голосов
/ 03 ноября 2010

Я хочу отсортировать таблицу данных WPF-Toolkit по столбцу, который связан следующим образом:

<toolkit:DataGrid.Columns>
    <toolkit:DataGridTextColumn Header="MyColumn" Binding="{Binding AnObject.AProperty}" />
</toolkit:DataGrid.Columns>

Теперь, когда AnObject имеет значение NULL, будет выдано исключение ArgumentException с сообщением "По крайней мере, один объект должен реализовывать IComparable" .

Какой лучший способ обойти это ограничение? Я действительно не хочу менять модель предметной области, чтобы вернуть NullObject-Pattern.

Использование преобразователей в сочетании с привязкой непосредственно к AnObject может оказаться довольно громоздким, поскольку у меня много таких столбцов и несколько DataGrid.

Должен ли я написать собственный ViewModel для каждого элемента DataGrid и использовать конвертер для свойства ItemsSource?

Я ценю каждое предложение!

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Я бы выбрал другую стратегию: создать ViewModel для AnObject со свойством, которое предоставляет AProperty, и использовать его во всех DataGrids.Виртуальная машина должна быть способна отправлять соответствующие значения в AProperty, когда AnObject равен нулю.

0 голосов
/ 04 ноября 2010

Нашел лучшее решение здесь:

Сортировка таблицы данных WPF по столбцу с нулевыми элементами

Реализован пользовательский сортировщик для моих DataGrids, который принимает нулевые значения.

...