누구든지 Telerik에서 제공하는 MVC 래퍼를 사용하지 않고 ASP.NET MVC 4에서 serverGrouping의 서버 측 부분을 구현하는 방법을 알고 있습니까?
serverPaging, serverSorting 및 serverFiltering이 작동하지만 그룹화 된 데이터를 구조화하고 보내는 방법에 대한 단서가 없습니다.
다음은 페이징, 정렬 및 필터링 된 데이터를 보내기 위해 작업 한 코드입니다.
public class TicketGridController : ApiController
{
private SupplierDataContext db = new SupplierDataContext();
HttpRequest request = HttpContext.Current.Request;
// GET api/Tickets
public Response Get()
{
int skip = request["skip"] == null ? 0 : int.Parse(request["skip"]);
int take = request["take"] == null ? 10 : int.Parse(request["take"]);
string group = request["group"] == null ? "" : request["group"];
string status = request["filter[filters][0][value]"] == null ? "" : request["filter[filters][0][value]"];
string sort = request["sort[0][field]"] == null ? "" : request["sort[0][field]"];
bool sortUp = request["sort[0][dir]"] == null ? true : (request["sort[0][dir]"] == "asc" ? true : false);
var Tickets = db.Tickets.ToList();
if (!string.IsNullOrEmpty(status)) {
Tickets = Tickets.Where(t => t.Issues.Where(i => i.Status == 1).Count() > 0).ToList();
}
switch (sort) {
case "TicketID":
if (sortUp) Tickets = Tickets.OrderBy(t => t.TicketID).ToList();
else Tickets = Tickets.OrderByDescending(t => t.TicketID).ToList();
break;
case "TicketName":
if (sortUp) Tickets = Tickets.OrderBy(t => t.TicketName).ToList();
else Tickets = Tickets.OrderByDescending(t => t.TicketName).ToList();
break;
case "Status":
if (sortUp) Tickets = Tickets.OrderBy(t => t.Status).ToList();
else Tickets = Tickets.OrderByDescending(t => t.Status).ToList();
break;
default:
Tickets = Tickets.OrderByDescending(t => t.DateModified).ToList();
break;
}
// ---------------------------------
// ADD GROUPING SOMEHOW!?
// ---------------------------------
List<TicketDisplayObject> ts = new List<TicketDisplayObject>();
foreach (Ticket t in Tickets.Skip(skip).Take(take))
{
ts.Add(new TicketDisplayObject(t));
}
return new Response(ts.ToArray(), Tickets.Count());
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
누구든지 그룹화 비트를 구현하는 방법을 알고 있습니까?
미리 감사드립니다!
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다