Как бы вы сделали список <> сопоставимым? - PullRequest
0 голосов
/ 20 мая 2010

Я использую Telerik GridView , и у меня возникла проблема при попытке сортировки столбца, состоящего из списка <>. В этой записи форума команда Telerik заявляет, что сетка может сортировать IComparable и группировать / фильтровать IEquatable <> независимо от версии Silverlight. В xaml ниже вы увидите четыре столбца, которые у меня есть в моей сетке. С колонкой SVOs я столкнулся с проблемой. SVOs привязаны к списку (ServiceOrder_DataViewModel). Поскольку список не реализует IComparable или IEquatable, я не могу сортировать или группировать / фильтровать этот столбец. Итак, мой вопрос: как мне создать новый объект List, который реализует IComparable и IEquatable? У нас есть логика, чтобы иметь возможность реализовать IComparable и IEquatable, я просто не уверен, как это реализовать. Любая помощь будет принята с благодарностью!

<d:MVVMRadGridView.Columns>
    <telerikGridView:GridViewDataColumn Header="Case Id" UniqueName="Id" CellTemplate="{StaticResource CaseIDLinkCellTemplate}" DataMemberBinding="{Binding Id}" DisplayIndex="0" IsVisible="True" />
    <telerikGridView:GridViewDataColumn Header="SVOs" UniqueName="SVOs" CellTemplate="{StaticResource CaseServiceOrdersLinksCellTemplate}" DisplayIndex="1" IsVisible="True" TextWrapping="Wrap" />
    <telerikGridView:GridViewDataColumn Header="Type" UniqueName="Type" DataMemberBinding="{Binding Type}" DisplayIndex="2" IsVisible="True" TextWrapping="Wrap" />
    <telerikGridView:GridViewDataColumn Header="Status" UniqueName="Status" DataMemberBinding="{Binding Status}" DisplayIndex="3" IsVisible="True" />
</d:MVVMRadGridView.Columns>

1 Ответ

1 голос
/ 20 мая 2010

Можете ли вы просто расширить класс списка и реализовать методы IComparable и IEquatable?

public class ComparableList<T> : List<T>, 
   IComparable<List<T>>, IEquatable<List<T>> 
{
    // Implement IComparable and IEquatable using your rules.
}
...