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不工作。我不能去下一页。有人可以帮我解决吗?
答案 0 :(得分:0)
我认为操作@Url.Action("transaction")
中的代码会忽略jqGrid发送给服务器的page
和rows
。您使用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,在实现任何事物的服务器端分页和排序时也很有用。