سؤال

أنا أستخدم telerik عرض شبكي, ، ووجود مشكلة في محاولة لفرز عمود مصنوع من قائمة <>. في هذه إدخال المنتدى ، ينص فريق Telerik على أن الشبكة يمكنها فرز IComparable و Group/Filter Iequatable <> بغض النظر عن إصدار Silverlight. في XAML أدناه ، سترى الأعمدة الأربعة التي لدي في شبكتي. عمود SVOS هو الذي أواجه مشكلة. يرتبط SVOS بقائمة (serviceorder_dataviewmodel). نظرًا لأن القائمة لا تنفذ icomparable أو iequatable ، لا يمكنني فرز أو مجموعة/تصفية هذا العمود. لذا ، سؤالي هو: كيف يمكنني إنشاء كائن قائمة جديد ينفذ 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>
هل كانت مفيدة؟

المحلول

هل يمكنك فقط تمديد فئة القائمة وتنفيذ أساليب icomparable و iequatable؟

public class ComparableList<T> : List<T>, 
   IComparable<List<T>>, IEquatable<List<T>> 
{
    // Implement IComparable and IEquatable using your rules.
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top