我正在尝试为我的应用程序使用js网格。我正在尝试在ajax请求之后填充网格,但是它似乎没有按预期工作。
我正在尝试将SQL Server作为后端,并且Web应用程序是asp.net MVC
这是我在html中的代码
var table;
var result;
var $j = jQuery.noConflict();
$j(document).ready(function () {
table = $j('#grid').jsGrid({
height: "60%",
width: "50%",
inserting: true,
editing: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 10,
controller: {
loadData: function (filter) {
var d = $j.Deferred();
$j.ajax({
type: "POST",
contentType: "application/json",
url: "@Url.Action("LoadData", "User")",
datatype: "json",
data: filter
@*success: function (data) {
result = data.data;
console.log("result", result);
d.resolve(result)
},
error: function (data) {
window.location.href = '@Url.Action("Error", "Audit")';
}*@
}).done(function (data) {
console.log("response", data);
console.log("data.data", data.data);
d.resolve(data)
});
return d.promise();
},
fields: [
{ name: "LastName", type: "text"},
{ name: "FirstName", type: "text"},
{ name: "Email", type: "email"},
{ name: "PhoneNumber", type: "number"},
{ type: "control" }
]
}
});
});
在控制器中,我返回
''return Json(new { data }, JsonRequestBehavior.AllowGet);''
我希望json数据绑定到div中。但这不是吗?谢谢
答案 0 :(得分:0)
好,所以我最近遇到了这个问题。
首先,将“高度”更改为px,自动或完全删除。它没有按照您认为的那样做。
接下来,由于您已进行分页,因此需要以以下格式返回数据:
{
data: [{your list here}],
itemsCount: {int}
}
它几乎没有在文档中,因为它是内联的,不是很明显。 (大胆的。)
loadData是一个返回数据数组或jQuery Promise的函数,该函数将使用数据数组进行解析(当pageLoading为true而不是对象结构 {data:[items],itemsCount:[total total count ]} )。
时接受过滤器参数,包括当前过滤器选项和分页参数