【问题标题】:YUI DataTable nested columns with JSON object with unknown keys带有未知键的 JSON 对象的 YUI DataTable 嵌套列
【发布时间】:2012-06-17 00:19:42
【问题描述】:

我是 YUI 的新手,需要一些帮助。

我有一个这样的 JSON 响应:

{
    "Results":[
        {
            "alpha":57.935,
            "beta:{
                "delta":2.975,
                "omega":1.431
            },
            "gamma":{
                "theta":"0.339",
                "lambda":"1.195"
            }
        },
        {
            "alpha":87,
            "beta":{
                "lambda":2.680,
                "kappa":0.714
            },
            "gamma":{
                "zeta":"0.288",
                "epsilon":"0.289"
            }
        }
    ]
}

我想要一个包含嵌套列的数据表,其中:
1) alpha、beta 和 gamma 是父列。
2) beta 和 gamma 各有两列由 JSON 键值对组成(例如,delta => 2.975)。
3) 行数,即总键值对,是动态的。

基本上是这样的:

    ----------------------------------------------
    | alpha   |      beta      |       gamma     |
    ----------------------------------------------
    | 57.935  |  delta | 2.975 |   theta | 0.339 |
    ----------------------------------------------
    |         |  omega | 1.431 |  lambda | 1.195 |
    ----------------------------------------------
    | 87.435  | lambda | 2.680 |    zeta | 0.288 |
    ----------------------------------------------
    |         |  kappa | 0.714 | epsilon | 0.289 |
    ----------------------------------------------

我已经能够生成非嵌套的简单 JSON 响应。

我的问题:
1)我有每个 JSON 子对象的对象({theta:0.339} 等)。两个子列都需要来自同一对象的数据。如何在不修改的情况下使用它?我应该对 myColumnDefs 中的两个子列使用相同的“keyName”吗?
2) 如何在 alpha td 为空的情况下创建多行?

任何帮助将不胜感激!

【问题讨论】:

    标签: datatable nested yui yui-datatable


    【解决方案1】:

    这不是一个容易解决的问题。除非您能够在将 JSON 发送到客户端之前将其格式化为单独的行,否则您可以使用一些列配置、格式化程序和自定义 bodyView modelList 属性设置器来拼凑一个解决方案,以展平数据以进行显示. http://jsbin.com/3/efigim/1/edit?javascript,live

    这可能会涉及到表行的一些破坏 -> 数据记录关联,因为 bodyView 的 modelList 包含其自己的行模型,而不是共享 clientId。这可能会或可能不会妨碍您,具体取决于您是否需要其他功能。

    但由于 DataTable 的数据 ModelList 保留了 beta 和 gamma 值的对象——只有视图的表示是自定义的——你可能没问题。

    YMMV,HTH

    【讨论】:

    • 谢谢!这非常快,而且很棒!正如我所说,我是初学者,无法快速掌握 YUI 数据表中使用的所有方法/功能。为了方便我自己,我将 JSON 数据扁平化为固定宽度(列)的行,并为每个字段插入键。需要 YUI 101 !!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2017-11-25
    • 2023-02-20
    相关资源
    最近更新 更多