浏览jqgrid中的其他页面(导航)

时间:2012-10-09 03:56:11

标签: asp.net-mvc jqgrid

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网格。它的工作。但我不能浏览网格页面。它只查看第一页。网格底部的arows不工作。我不能去下一页。有人可以帮我解决吗?

2 个答案:

答案 0 :(得分:0)

我认为操作@Url.Action("transaction")中的代码会忽略jqGrid发送给服务器的pagerows。您使用datatype: 'json'而不使用loadonce: true选项。因此,您必须实施服务器端分页数据。

请参阅示例the answer以获取代码示例,其中显示了如何实现服务器端分页,排序和搜索。

答案 1 :(得分:0)

如果您不想实现服务器端分页/排序,可以使用loadonce:true选项。

但是如果你想实现服务器端排序,首先你应该准备方法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还有另一篇关于此here的精彩文章。

This article,在实现任何事物的服务器端分页和排序时也很有用。