Jquery JQGrid不显示数据。努力没有成功
问题是我看不到网格中的任何行。不管我怎么努力,都没有成功。FireBug正在显示数据。可能是柱的问题吗 为什么我看不到数据? 注意:如果我使用数组并将其绑定到网格,则会看到数组数据。有关本地绑定,请参见底部 我正在使用最新的JQGrid-js。我认为版本是4.1.1。今天下载 *Jason响应 -------------------*Jquery JQGrid不显示数据。努力没有成功,jquery,asp.net-mvc-3,jqgrid,Jquery,Asp.net Mvc 3,Jqgrid,问题是我看不到网格中的任何行。不管我怎么努力,都没有成功。FireBug正在显示数据。可能是柱的问题吗 为什么我看不到数据? 注意:如果我使用数组并将其绑定到网格,则会看到数组数据。有关本地绑定,请参见底部 我正在使用最新的JQGrid-js。我认为版本是4.1.1。今天下载 *Jason响应 -------------------* {"total":1,"page":1,"records":2,"rows":[{"id":1,"cell":["1","account number","Fir
{"total":1,"page":1,"records":2,"rows":[{"id":1,"cell":["1","account number","First Name"]},{"id":2,"cell":["2","account number1","First Name1"]}]}
<table id="list"></table>
<div id="pager"></div>
<link href="/Content/custom-theme/jquery-ui-1.8.13.custom.css" rel="stylesheet" type="text/css" />
<link href="/Content/custom-theme/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.13.custom.min.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/sandbox-grid.js" type="text/javascript"></script>
[HttpGet]
public JsonResult GetGrids(string sidx, string sord, int page, int rows)
{
var query = from e in _form.All() select e;
var count = query.Count();
var result = new
{
total = 1,
page = page,
records = count,
rows = query.Select(x => new { x.Id, x.AccountNumber, x.FirstName })
.ToList()
.Select(x => new
{
id = x.Id,
cell = new string[] {x.Id.ToString(),x.AccountNumber,x.FirstName}
}).ToArray(),
};
return Json(result, JsonRequestBehavior.AllowGet);
}
$(document).ready(function () {
jQuery("#list").jqGrid({
url: '/Home/GetGrids/',
mtype: 'GET',
dataType: 'json',
colNames: ['Id', 'Account Number', 'Lastname'],
colModel: [
{ name: 'Id', index: 'Id', width: 200 },
{ name: 'AccountNumber', index: 'AccountNumber', width: 300 },
{ name: 'LastName', index: 'LastName', width: 100 }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'Id',
viewrecords: true,
sortorder: "desc",
caption: "Pay Your Bill"
});
jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false });
});
*剃刀页面
-----------------------------*
{"total":1,"page":1,"records":2,"rows":[{"id":1,"cell":["1","account number","First Name"]},{"id":2,"cell":["2","account number1","First Name1"]}]}
<table id="list"></table>
<div id="pager"></div>
<link href="/Content/custom-theme/jquery-ui-1.8.13.custom.css" rel="stylesheet" type="text/css" />
<link href="/Content/custom-theme/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.13.custom.min.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="/Scripts/jqgrid/sandbox-grid.js" type="text/javascript"></script>
[HttpGet]
public JsonResult GetGrids(string sidx, string sord, int page, int rows)
{
var query = from e in _form.All() select e;
var count = query.Count();
var result = new
{
total = 1,
page = page,
records = count,
rows = query.Select(x => new { x.Id, x.AccountNumber, x.FirstName })
.ToList()
.Select(x => new
{
id = x.Id,
cell = new string[] {x.Id.ToString(),x.AccountNumber,x.FirstName}
}).ToArray(),
};
return Json(result, JsonRequestBehavior.AllowGet);
}
$(document).ready(function () {
jQuery("#list").jqGrid({
url: '/Home/GetGrids/',
mtype: 'GET',
dataType: 'json',
colNames: ['Id', 'Account Number', 'Lastname'],
colModel: [
{ name: 'Id', index: 'Id', width: 200 },
{ name: 'AccountNumber', index: 'AccountNumber', width: 300 },
{ name: 'LastName', index: 'LastName', width: 100 }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'Id',
viewrecords: true,
sortorder: "desc",
caption: "Pay Your Bill"
});
jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false });
});
在我看来,您使用的代码中的主要错误是
dataType: 'json'
而不是
datatype: 'json'
由于jqGrid不知道dataType
,因此将使用默认值dataType:'xml'
已更新:我建议您始终实现
loadError
事件处理程序。请参阅更新的部分,其中包含您使用的演示或对其进行修改。谢谢。我觉得自己很愚蠢:(.Worked。我会看到参考帖子的。@pirzada:不客气!这是一个标准问题,几乎所有使用jQuery.ajax
的人都会犯一次错误。