javascript - 无法从 JSON 数据显示 Gridx

标签 javascript dojo

我编写了一个简单的程序来从外部 JSON 文件获取数据并将其显示在 Dojo Gridx 中。但是,它不起作用。

Dojo 代码:

require(["dojo/text!json_to_gridx/js/data.json", "dojo/json", "gridx/Grid"], function(myJSONData, JSON, Gridx) {

    // fetch and parse JSON
    var myJSON = JSON.parse(myJSONData);
    console.log(myJSON);    // working fine

    // create datastore
    var store = myJSON;     // should this be changed?

    // create Gridx
    if(!window.grid){
        console.log('working');     // working fine
        gridx = new Gridx({
                    id: 'grid',
                    store: store,
                    structure: [
                        {id: 'name', field: 'name', name: 'Name'},
                        {id: 'company', field: 'company', name: 'Company'}
                    ]
        });
        console.log('working2');   // does not work
        gridx.placeAt('gridContainer');
        gridx.startup();
    }

});

JSON:

[{"name": "Rahul Desai","company": "PSL"},{"name": "Alston","company": "PSL"}]

我收到错误:

TypeError: cacheClass is not a constructor            Model.js

我该如何解决这个问题?请帮忙!

编辑:建议我使用内存存储“gridx/core/model/cache/Async” 现在,创建 Gridx 的代码如下所示:

this._disksGrid = new Gridx({
    id: 'grid',
    cacheClass: asyncCache,
    store: store,
    structure: [
        {id: 'name', field: 'name', name: 'Name'},
        {id: 'company', field: 'company', name: 'Company'}
    ]
});

现在没有错误,但 Gridx 未显示。知道为什么吗?

编辑2:原来我在之前的编辑中启动了错误的网格。现在 Gridx 显示,但第二个值重复,并且第一个值现在显示。

Name   Company
Alston  PSL
Alston  PSL

最佳答案

我进行了编辑和编辑 2 中提到的更改,并向每一行 JSON 添加了唯一 ID 并正确验证了它。这样问题就解决了。

关于javascript - 无法从 JSON 数据显示 Gridx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472394/

相关文章:

javascript - jQuery scrollTop() 在移动浏览器上滚动 DIV 时不起作用,替代方案?

javascript - Angular js- Controller 仅在页面刷新时加载

dojo - id和data-dojo-id之间的区别

Struts2 .action 扩展导致 CSS、JavaScript 和 Struts Dojo 损坏

javascript - 为 Rails 3.1 应用程序在 : dojo, backbone.js、knockout.js(或其他)之间做出决定

javascript - 如何防止 JavaScript 执行堆栈被过多的递归级别填满?

javascript - 多个按钮和模式

javascript - nodejs UTF-8编码字符串有黑色问号

javascript - 如何将 dojo 工具提示放置在靠近文本的位置?

dojo - 以编程方式设置dijit Select小部件的选定值