我能够在jqGrid上显示我的记录,但分页不工作。我总共有90条记录,即使页码增加,也总是显示前10条记录。我已经从我的方法中检查了jqGrid的返回值,它确实显示了一组不同的记录被发送到jqGrid,但jqGrid无法显示这组新记录。 以下是我的代码。请帮帮我。我需要这个紧急工作。感谢jqGrid ASP.NET MVC
public JsonResult CheckReading(int page, int rows, string sidx, string sord)
{
IList<SamplerReading> Model =
(IList<SamplerReading>)Session["samplerReadingArray"];
int totalRecords = Model.Count + 1;
int pageSize = rows;
int pageIndex = Convert.ToInt32(page) - 1;
int totalPages = (int)Math.Ceiling((float)totalRecords/(float)pageSize);
string orderBy = string.Format("{0} {1}", sidx, sord);
var sales = Model.AsQueryable()
.OrderBy(orderBy) // Uses System.Linq.Dynamic library for sorting
.Skip(pageIndex * pageSize)
.Take(pageSize);
var jsonData = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = (
from s in Model
select new
{
i = s.ReadingId,
cell = new string[] {
s.SamplingDate.ToShortDateString(),
s.Ph.ToString(),
s.Ec.ToString(),
s.Arsenic.ToString(),
s.Temperature.ToString(),
s.OilAndGrease.ToString(),
s.DepthToCollar.ToString()
}
}).ToArray()
};
return Json(jsonData);
}
其中
<table id="list" cellpadding="0" cellspacing="0">
</table>
<div id="pager" style="text-align: center;">
</div>
和
<script type="text/javascript">
var gridimgpath = '/Scripts/jqgrid/themes/redmond/images';
var gridDataUrl = '/Shared/CheckReading';
jQuery("#list").jqGrid({
url: gridDataUrl,
datatype: "json",
mtype: 'GET',
colNames: ['Sampling Date', 'pH', 'EC', 'Arsenic', 'Temperature',
'Oil and Grease', 'Depth to Collar'],
colModel: [
{ name: 'SamplingDate', index: 'SamplingDate', width: 100, align: 'left'},
{ name: 'Ph', index: 'Ph', width: 30, align: 'left' },
{ name: 'Ec', index: 'EC', width: 30, align: 'left' },
{ name: 'Arsenic', index: 'Arsenic', width: 30, align: 'left' },
{ name: 'Temperature', index: 'Temperature', width: 30, align: 'left' },
{ name: 'Oil And Grease', index: 'OilAndGrease', width: 30, align:'left'},
{ name: 'Depth To Collar', index: 'DepthToCollar', width:30,align:'right'}
],
rowNum: 10,
rowList: [10, 20, 30],
imgpath: gridimgpath,
height: 'auto',
width: '900',
pager: jQuery('#pager'),
sortname: 'ReadingId',
viewrecords: true,
sortorder: "desc",
caption: "Sampler Readings",
edit: true
}).navGrid("#pager", { edit: true, add: false, del: false });
</script>
有没有JavaScript错误? – queen3 2010-09-25 16:55:31