【问题标题】:How do I solve server side pagination issue in JQGrid using mvc4如何使用 mvc4 解决 JQGrid 中的服务器端分页问题
【发布时间】:2017-07-13 11:03:56
【问题描述】:

我在使用 mvc 的 jqgrid 中遇到服务器端分页问题。这是我的控制器代码。

[HttpGet]
public JsonResult GetAllStudents(JqGridRequest jRequest) {
    var Records =  from a in entities.studentdetails.ToList() select new {
        a.ID,
        a.Name,
        a.DOB
    };
    int pageIndex = Convert.ToInt32(jRequest.PageIndex);
    int pageSize = jRequest.RecordsCount;
    int startRow = (pageIndex * pageSize) + 1;
    int totalRecords = Records.Count();
    int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);
    Records = Records.Skip(pageIndex * pageSize).Take(pageSize).ToArray();    
    if (jRequest.Searching) {
        int sId = Convert.ToInt32(jRequest.SearchingFilters.Filters[0].SearchingValue);
        //string sName = jRequest.SearchingFilters.Filters[0].SearchingValue;
        Records = entities.studentdetails.Select(a => new {
            a.ID,
            a.Name,
            a.DOB
        }).Where(p => p.ID == sId);
    }
    else {
       Records = entities.studentdetails.Select(a => new {
           a.ID,
           a.Name,
           a.DOB
       });
    }
    var jsonData = new {
        total = totalPages,
        page = pageIndex,
        records = totalRecords,
        rows = Records
    };
    return Json(jsonData, JsonRequestBehavior.AllowGet); 
}

【问题讨论】:

  • “我遇到了服务器端分页问题...” - 您应该说明问题所在。

标签: asp.net-mvc linq pagination jqgrid


【解决方案1】:

以下是我所做的一些更改,问题得到了解决。

1- int pageIndex = Convert.ToInt32(jRequest.PageIndex) + 1;

2- 记录 =

entities.studentdetails.Select(
                a => new
                {
                    a.ID,
                    a.Name,
                    a.DOB
                })**.OrderBy(s => s.ID).Skip((pageIndex-1) *   pageSize).Take(pageSize).ToArray();**

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多