0
var jqDataUrl = "@Url.Action("transaction")";
$(document).ready(function () {
    $('#jqgProducts').jqGrid({
        url: jqDataUrl,
        datatype: 'json',
        mtype: 'POST',
        colNames: ['Name', 'Reson', 'Start Date', 'End Date', 'No of Days'],
        //columns model
        colModel: [
            { name: 'Name', index: 'Name', align: 'left', width:175},
            { name: 'Reson', index: 'Reson', align: 'left' , width:75},
            { name: 'Start Date', index: 'StartDate', align: 'left', width:100 },
            { name: 'End Date', index: 'EndDate', align: 'left',width:100  },
            { name: 'No Of Days', index: 'NoOfDays', align: 'left', width:75 },
        ],
        pager: $('#jpProducts'),
        rowNum: 10,
        sortname: 'StartDate',
        sortorder: 'desc',
        viewrecords: true,
        height: '100%'
    });

这是我的 jquery 网格。它的工作。但我无法通过网格页面。它只查看第一页。网格底部的箭头不起作用。我无法转到下一页。谁能帮我解决它?

4

2 回答 2

0

我想您在操作中的代码@Url.Action("transaction")忽略了jqGrid 发送到服务器的page和。rows你使用datatype: 'json'没有loadonce: true选项。所以你必须实现数据的服务器端分页

例如,参见代码示例的答案,它显示了如何实现服务器端分页、排序和搜索。

于 2012-10-09T06:14:25.067 回答
0

如果您不想实现服务器端分页/排序,您可以使用loadonce:trueoption.

但是如果你想实现服务器端排序,首先你的方法transaction应该准备好接受以下参数

public ActionResult transaction(string page, string rows, string sidx, string sord)
{}

如果您之前使用过 JqGrid,那么您无疑会熟悉传递给任何 ajax 请求的默认参数:“page”、“rows”、“sidx”和“sord”。

这些参数分别对应当前页、每页记录、排序列和排序顺序。

这里有一篇文章:How to use JqGrid with ASP.NET MVC还有一篇 Phil Haack 写的很棒的文章在这里

本文在为任何事物实现服务器端分页和排序时也很有用。

于 2012-10-09T06:19:18.383 回答