здесь мой взгляд, где я пытаюсь разобратьсякак сделать столбцы сортируются с помощью LINQ
<tr>
<th>
@Html.ActionLink("WardName", "CompletedReq", new { strSortBy = "WardName" })
@*@ @Html.DisplayNameFor(model => model.WARD_NAME)*@
</th>
<th>
@Html.ActionLink("WardLocation", "CompletedReq", new { strSortBy = "WardLocation" })
@*@ @Html.DisplayNameFor(model => model.WARD_LOCATION)*@
</th>
<th>
@Html.ActionLink("ItemID", "CompletedReq", new { strSortBy = "ItemID" })
@*@Html.DisplayNameFor(model => model.ITEM_ID)*@
</th>
<th>
@Html.ActionLink("ItemType", "CompletedReq", new { strSortBy = "ItemType" })
@*@Html.DisplayNameFor(model => model.ITEM_TYPE)*@
</th>
<th>
@Html.ActionLink("ItemName", "CompletedReq", new { strSortBy = "ItemName" })
@*@Html.DisplayNameFor(model => model.ITEM_NAME)*@
</th>
</tr>
я написал запрос с помощью LINQ, но я хочу сделать что-то вроде на OrderBy я сделать это успешные рамки объекта на одном столе, но не знаю, как я это сделать на этих таблицах на мой присоединяется
var query =
from wr in db.Ward_Req
join w in db.Wards
on wr.WARD_ID equals w.WARD_ID
join rl in db.Req_Line
on wr.REQ_ID equals rl.REQ_ID
join m in db.Materials
on rl.ITEM_ID equals m.ITEM_ID
where wr.STATUS == "C"
orderby w.WARD_NAME descending
select new Reports
{
WARD_NAME = w.WARD_NAME,
WARD_LOCATION = w.WARD_LOCATION,
ITEM_ID = m.ITEM_ID,
ITEM_TYPE = m.ITEM_TYPE,
ITEM_NAME = m.ITEM_NAME
};
return View(query.ToList());
так в моем порядке я хочу передать в strSortby в себя переключатель заявление, как я сделал на этой части, но я не могу делайте это правильно. Вот переключатель, который я написал на моем другом контроллере, который сделал сортировку успешно.
public ActionResult Index(string strSortBy)
{
var staffs = db.Staffs.Include(s => s.Staff2);
switch (strSortBy)
{
case "fname":
staffs = staffs.OrderBy(s => s.FNAME);
break;
case "lname":
staffs = staffs.OrderBy(s => s.LNAME);
break;
case "phone":
staffs = staffs.OrderBy(s => s.TELEPHONE);
break;
case "gender":
staffs = staffs.OrderBy(s => s.GENDER);
break;
case "position":
staffs = staffs.OrderBy(s => s.POSITION);
break;
case "status":
staffs = staffs.OrderBy(s => s.STATUS);
break;
case "username":
staffs = staffs.OrderBy(s => s.USERNAME);
break;
default:
break;
}
return View(staffs.ToList());
}
Это не должно быть ничем не отличается от того, что ваш делать в другой точки зрения , - 'switch (strSortBy) {case" WardLocation ": query = query.OrderBy (s => s.WARD_LOCATION); ломать; case "ItemID": query.OrderBy (s => s.ITEM_ID); break; etc} ' –
я бы поставил это после моего запроса? –
Я беру orderby в моем запросе linq? –