我正在尝试为 Razor Webgrid 实现自定义排序。具体来说,我想对未出现在 webgrid 本身中的列进行排序。
我正在疯狂地试图弄清楚为什么 ListOfMatching 无法排序。任何想法将不胜感激。
谢谢
ResultsDisplayModel foo; // MVVM class to be bound to the view
// List of Matching is bound to a webgrid
// public List<ResultsModel> ListOfMatching { get; set; }
// TotalDebt is in a base class of ResultsModel called Expenses
if (sort == "DebtBurden")
{
if (foo.bSortDirection)
{
foo.bSortDirection = false;
foo.ListOfMatching.OrderByDescending(x => x.TotalDebt);
}
else
{
foo.bSortDirection = true;
foo.ListOfMatching.OrderBy(x => x.TotalDebt);
}
}
最佳答案
默认情况下,LINQ 中的扩展方法没有副作用(也就是说,它们不会就地修改原始集合)。您必须将生成的集合分配给新变量或覆盖旧变量。
foo.ListOfMatchingColleges = foo.ListOfMatchingColleges
.OrderBy(x => x.TotalDebt)
.ToList();
关于C# 列表顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11484543/