使用Dojo Datagrid从JSON检索数据

时间:2012-12-06 14:59:21

标签: json dojo

我需要检索JSON数据并使用dojo datagrid显示。我的JSON就像这样

var data = {
   "key":[{
         "key1": "info1"},
    {
         "key2": "info2"},
    {
         "key3": "info3"}
]}; 

提前致谢

2 个答案:

答案 0 :(得分:2)

这有点难以回答,因为很难说出你已经尝试过的东西...... 因此,我假设您已经获得DataGrid渲染(使用商店,就像Daniel Hu建议的那样),现在您想要“过滤”此特定条目。

为此,您必须修改之前设置store的方式:

    var yourData = {
        "key": [{
            "key1": "info1"},
        {
            "key2": "info2"},
        {
            "key3": "info3"}
                     ]
    };

    var yourStore = new dojo.data.ItemFileReadStore({
        data: {
            identifier: 'key1',
            items: yourData.key
        }
    });

现在,您可以使用DataGrid的{​​{1}}属性来过滤将显示在query中的行,如下所示:

DataGrid

请注意,对于给定的示例数据,这将导致网格中只有一个 var grid = new dojox.grid.Datagrid({ store: yourStore, [some other properties, (especially the structure)], query: {key1: 'info1'} // this is where you set you filter... }, yourDomNode).startup(); 只包含一个显示“info1”的row。商店的items-property需要一个包含对象的数组。这些对象中的每一个都应该代表一行,所以我猜你错了这个概念。我的意思是:cell通常应该是一个对象。因此,看看Daniel Hu推荐的链接确实是“有用的”。

正如我在评论中已经提到的那样:如果这不能回答你的问题,那么如果你发布一些显示你已经尝试过的代码并且说明了无法行为的行为(如果它已经在某些行为中表现出来)可能会有用有点方式...)。还要准确说出你期望的结果和实际结果。

答案 1 :(得分:0)

道场DataGrid需要商店。这应该可以帮到你:

http://dojotoolkit.org/documentation/tutorials/1.7/store_driven_grid/