我想过滤表格中的某些元素,但是当表格中存在某种状态时,我希望在降序中过滤相同的内容。
实施例:
当州是"打开"我想过滤" tijdSluit"上升。当te州是" Gesloten"我想过滤" tijdSluit"降。
我现在使用的代码:
return View(db.GetAllRequests().OrderBy(Request => Request.request.Status).ThenBy(Request => Request.request.tijdSluit));
问题在于您无法在同一个表中过滤升序和降序。我该如何解决这个问题?
我试过了:
return View(db.GetAllRequests().Where(Request => Request.request.Status == 1).OrderBy(Request => Request.request.Status).Where(Request => Request.request.Status != 1).OrderByDescending(Request => Request.request.tijdSluit));
但是当我运行该代码时,我得到一张空表。
我该怎么做?
答案 0 :(得分:1)
当然,不可能同时订购表asc和desc。也许在你的情况下你需要两个有序序列?像这样的事情?
var allRequests = db.GetAllRequests();
var openRequests = allRequests.Where(Request => Request.request.Status == 1).OrderBy(Request => Request.request.Status).ToList();
var otherRequests = allRequests.Where(Request => Request.request.Status != 1).OrderByDescending(Request => Request.request.tijdSluit)).ToList();
openRequests.AddRange(otherRequests);
return View(openRequests);