gpt4 book ai didi

javascript - 在 YUI 数据表中显示 JSON 对象

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:40 26 4
gpt4 key购买 nike

我正在尝试使用 YUI DataTable 显示以下 JSON 对象。我能够在 YUI 数据表中成功显示 lastName、firstName、startDate、employeeCode、employeeStatus。但是我无法显示内部对象中的值。在列集中,我尝试了 user.userId,它在 DataTable 中显示为 {value}

[    
{
"lastName": "MyLastName",
"firstName": "MyFirstName",
"startDate": "11-11-11",
"employeeCode": "124",
"employeeStatus": "Permanent",
"user": {
"key": {
"name": null,
"parent": {
"name": null,
"parent": null,
"id": 855,
"namespace": "",
"complete": true,
"kind": "Employee"
},
"id": 856,
"namespace": "",
"complete": true,
"kind": "Users"
},
"salt": null,
"userId": "myemail@example.com",
"status": true,
},
{
...
}
]

这是 Javascript 代码:

<script type="text/javascript">
YUI().use("jsonp", 'sortable', 'json-parse', 'datatable', "datatable-sort", "io", "node", function(Y) {
var nestedCols = [
{key : "employeeCode",label : "Employee Code", sortable:true},
{key : "firstName", label : "First Name",sortable: true},
{key : "lastName", label : "Last Name", sortable:true},
{key : "user.userId", label : "Email Id"},
];
Y.io('/Employee/AjaxList', {
on : {
success : function(tx, r) {
var data = Y.JSON.parse(r.responseText);
var table = new Y.DataTable.Base({
columnset : nestedCols,
recordset : data,
}).plug(Y.Plugin.DataTableSort);
table.render("#empTable");
}
}
});
});
</script>

这段代码有什么问题吗?如何在 DataTable 中显示 user.userId 的值?

注意:JSON 是使用 Jackson 生成的,应用程序是在 GAE/J 中开发的


更新:

我按照@Luke 的建议使用了DataSource。这次我得到了一个只有标题的空数据表。这是代码片段。

YUI().use("datasource-get", "datatable-base", "datatable-datasource","datasource-arrayschema", function (Y) {

var url = "/Employee/AjaxList?";
var dataSource, table;

dataSource = new Y.DataSource.Get({ source: url });

dataSource.plug(Y.Plugin.DataSourceArraySchema, {
schema: {
resultFields: ["firstName", "lastName"]
}
});

var cols = ["firstName", "lastName"];

table = new Y.DataTable.Base({
columnset: cols,
});

table.plug(Y.Plugin.DataTableDataSource, { datasource: dataSource });

table.render("#empTable");

table.datasource.load();
});

最佳答案

您需要使用 datasource-jsonschema 来解析嵌套值。请参阅此示例:http://yuilibrary.com/yui/docs/datatable/datatable-dsget.html

您应该能够按照这些步骤操作,将 Y.DataSource.Get 替换为 Y.DataSource.IO

关于javascript - 在 YUI 数据表中显示 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7496481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com