Dojo 1.8使用提供的JsonRest的Objects和SubObject填充EnhancedGrid

时间:2013-03-29 21:00:11

标签: javascript dojo dojox.grid

有没有办法用JSON结构中的SubObjects填充dojox / grid / EnhancedGrid的列? 例如,如果我有一个看起来像的JSON-Row:

   {
        id: 2,
        name: "TestItem2",
        created: {
             date: "2013-03-28 11:59:40",
             timezone_type: 3,
             timezone: "Europe/Berlin"
        }
   }

我希望用" date"填充网格列。在SubObject"创建"。 我已经尝试过设置Column' s" field"财产到" created.date"在网格"结构"财产,但没有做到这一点。

2 个答案:

答案 0 :(得分:2)

Apparently在这种情况下你可以使用格式化程序:

var structure = [[
    {'name': 'Date', 'field': '_field', formatter: myFormatter }
]];

将整个节点从商店传递到一个名为myFormatter的函数中,您可以从中传递相关条目,如:

function myFormatter(node, rowIdx){
    return node.created.date;
};

另见citress'在这里回答:Dojo grid nested json

答案 1 :(得分:0)

这有点邪恶和蹩脚,但也许改变对象结构将帮助你进入网格。听起来你只想要约会,所以你可以这样做:

var o = {
    id: 2,
    name: "TestItem2",
    created: {
         date: "2013-03-28 11:59:40",
         timezone_type: 3,
         timezone: "Europe/Berlin"
    }
};

o.created = o.created.date;

现在对象看起来像这样:

created: "2013-03-28 11:59:40"
id: 2
name: "TestItem2"

以下是来自控制台的示例:

Here's a sample from the console