JsGrid将嵌套对象加载到表中
我正在Django开发一个web项目并使用jsGrid。 我遇到了问题,无法找到解决方案。
我有一个嵌套的JSON数据,它是通过组合多个数据库表记录创建的。 这是我的JSON:
{ "count":3, "results":[ { "personnel":{ "name":"david", "age":34 }, "company":"IBM" }, { "personnel":{ "name":"john", "age":28 }, "company":"Google" }, { "personnel":{ "name":"Yuri", "age":42 }, "company":"Microsoft" } ] }
这是我的js脚本:
function () { $("#personnelsgrid").jsGrid({ height: "500px", width: "100%", filtering: !0, editing: !0, sorting: !0, paging: !0, autoload: !0, pageSize: 15, pageButtonCount: 5, deleteConfirm: "Do you really want to delete the client?", controller: { loadData: function (filter) { return $.ajax({ type: "GET", url: "/get_personnels", dataType: "json", data: filter }); } }, fields: [ {name: "personnel.name", type: "text", width: 50}, {name: "personnel.age", type: "number", width: 50, filtering: false}, {name: "company", type: "text", width: 200}, ]
如图所示,我的数据中有一个嵌套对象。 虽然JSON来自服务器,但它没有加载到jsGrid表中。 我该怎么办?
在您的响应中,json数据以response.results
格式出现。 因此,在loadData
方法中,您需要使用$.Deferred()
这样传递results
loadData: function(filter) { var deferred = $.Deferred(); $.ajax({ type: "GET", url: "/get_personnels", dataType: "json", data: filter, success: function(response) { deferred.resolve(response.results); } }); return deferred.promise(); }
DEMO
$("#jsGrid").jsGrid({ width: "100%", height: "auto", filtering: !0, editing: !0, sorting: !0, paging: !0, //for loadData method Need to set auto load true autoload: true, pageSize: 15, pageButtonCount: 5, deleteConfirm: "Do you really want to delete the client?", noDataContent: "Directory is empty", controller: { loadData: function(filter) { var deferred = $.Deferred(); $.ajax({ type: "get", url: "//api.stackexchange.com/2.2/questions?order=desc&sort=activity&tagged=jsgrid&site=stackoverflow", dataType: "json", success: function(response) { deferred.resolve(response.items); } }); return deferred.promise(); } }, fields: [{ name: "owner.display_name", title: 'Name', type: "text", width: 50 }, { name: "title", title: 'Title', type: "text", width: 200 }] });
- 获取django表单下拉列表选择中的其他数据
- 使用模板系统时,在Django中使用JQuery刷新div
- Djangopost不工作:
- 使用JQuery的Django-Tasypie图像上传示例
- 将jQuery数组POST到Django
- django-autocomplete-light – 如何返回不同的字段然后是模型主键?
- jquery month picker:设置初始最小/最大范围与“from”<“to”function冲突
- 根据自动完成选择填写formset的其他两个字段
- 使用django-dynamic-formset和来自django-extra-views的CreateWithInlinesView – 多个表单集