jqGrid寻呼机只返回第一页

时间:2013-02-27 12:39:42

标签: asp.net-mvc-4 jqgrid

我想要客户端分页。

但出于某种原因,我似乎只回到了第一页?即使我知道我有两页数据(IE ...我逐步完成我的代码,我肯定有两个...)...更令人费解的是,我浏览页面的链接似乎永远不会是正确的......例如,我希望以下屏幕可以说是2 ...

Paging Problems

另外我希望右下方可以看到21的1-15? 我的感觉是我在数据层中做错了什么来给这个寻呼机提供信息。 所以它只返回第一页。

    public static string JsonifyEnc(IEnumerable<TemplateModel> model, int popId, int page, int rows) {
        TemplateModel variable = model.ToArray()[0];
        ArrayList al = new ArrayList();
        //foreach (PatientACOModel patMod in variable.Template) {
        int i = 1;
        int rowstart = (page * rows + 1) - rows;
        int rowend = page * rows;
        //Here is where I create the rows... nothing special here
        var griddata = new {
            total = variable.Template.Count % rows > 0 ? (variable.Template.Count / rows) + 1 : (variable.Template.Count / rows),
            page = page,
            records = al.Count,
            rows = al.ToArray()
        };

当我快速查看总变量时,它说两个? 这将是我返回的json字符串的第一部分......

{"total":2,"page":1,"records":15,"rows":

所以就在那里。另外,这就是我如何构建我的jqGrid ......

    $(document).ready(function () {
        jQuery("#frTable").jqGrid ({
            cmTemplate: { sortable: false },
            caption: '@TempData["POPNAME"]' + ' Population',
            datatype: 'json',
            mtype: 'GET',
            url: '/Encounters/GetAjaxPagedGridData/', //'Url.Action("GetAjaxPagedGridData", "Encounters", new { popId = TempData["POPULATIONID"] })',//  
            postData: { popId: '@TempData["POPULATIONID"]'},
            pager: '#pager',
            jsonReader: {repeatitems: false},
            loadonce: true,
            height: 'auto',
            gridview: true,
            viewrecords: true,
            rowNum: 15,
            shrinkToFit: false,
            autowidth: true,

1 个答案:

答案 0 :(得分:3)

如果您在客户端使用loadonce: true,则应更改服务器代码,使其忽略pagerows选项并返回所有数据。您应该只对与sidxsord参数相对应的数据进行排序(请参阅jqGrid中的sortnamesortorder)。您无需在回复中填写totalpagerecords部分。

如果您使用loadonce: true jqGrid加载数据并将其保存在内部data_index参数中。之后,jqGrid将jqGrid的datatype选项更改为"local"。因此,所有后来的排序,过滤(搜索)和数据分页都将在本地完成。