首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在YUI数据表中显示JSON对象

在YUI数据表中显示JSON对象
EN

Stack Overflow用户
提问于 2011-09-21 08:06:28
回答 2查看 3.3K关注 0票数 5

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

代码语言:javascript
复制
[    
{
            "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代码:

代码语言: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>

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

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

更新:

我按照@路克的建议使用了DataSource。这一次,我得到了一个空的DataTable,其中只有头。这是代码片段。

代码语言:javascript
复制
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();
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-28 06:23:15

我从YUI论坛获得了解决方案,我在论坛上发布了以下文章:http://yuilibrary.com/forum/viewtopic.php?f=92&t=8685

下面是对我有用的代码:

代码语言:javascript
复制
YUI().use( "datasource-io", "datasource-jsonschema", "datatable-base", "datatable-datasource", "datatable-scroll", 
           function (Y) {
    var cols = [    
            { key: "name", label: 'Name'  }, 
            { key: "email",  label: "Email"  },
            { key: "user.username", label: 'Username'  },
            { key: "user.password", label: 'Password'  },
        ];
    car url = "/Employee/AjaxList";
    var ds = new Y.DataSource.IO( { 
        source:url
     });
     ds.plug(Y.Plugin.DataSourceJSONSchema, {
            schema: {
                resultFields: [ 'name', 'email', 'user.username', 'user.password' ],
            }
        });
    var dt = new Y.DataTable.Base({
        columnset:cols } )
        .plug(Y.Plugin.DataTableDataSource, {datasource:ds});
    dt.render("#dtable");
    dt.datasource.load();
});

希望这能帮助正在与DataTable & DataSource公司做斗争的其他人。

票数 1
EN

Stack Overflow用户

发布于 2011-09-22 16:21:53

您需要使用数据源-jsonschema来解析嵌套的值。参见本例:http://yuilibrary.com/yui/docs/datatable/datatable-dsget.html

您应该能够遵循这些步骤,将Y.DataSource.Get替换为Y.DataSource.IO

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7496481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档