我尝试将一些SortDescriptions添加到CollectionView中,但无法弄清楚如何获得我之后的行为。
基本上我想首先按日期时间排序,然后按第二个属性(字符串)排序,但按特定顺序排序。在纯粹的c#/ linq方面,我过去以一种丑陋的方式做到了这一点,例如:
List<string> regionOrder = new List<string> { "AS", "CE", "KC", "NA", "LAM" };
results = results.OrderBy(x => x.Day).ThenBy(x => regionOrder.IndexOf(x.Region)).ToList();
return new DataCollectionResult<DailyBuildPlan> {Results = results, Error = error};
有关如何使用CollectionView的排序说明实现此目的的任何想法?我认为添加多个排序说明没什么问题,但我不确定如何在第二个属性上获取我需要的自定义顺序
e.g。
MyCollectionView.SortDescriptions.Add(new SortDescription("Day", ListSortDirection.Ascending));
MyCollectionView.SortDescriptions.Add(new SortDescription("Region", ListSortDirection.MyCustomOrder));
答案 0 :(得分:0)
将CollectionView作为ListCollectionView获取,然后您可以指定CustomSort回调比较器。