Dojo OnDemandGrid 不会显示数据

Posted

技术标签:

【中文标题】Dojo OnDemandGrid 不会显示数据【英文标题】:Dojo OnDemandGrid won't display data 【发布时间】:2017-09-14 13:59:32 【问题描述】:

我正在使用包含 dojo 的 arcgis javascript api 3.19。我正在尝试在网格中显示一些数据并对其进行编辑。目前,数据不会显示在网格中。

我正在使用教程来学习如何使用这个网格,[http://dgrid.io/js/dgrid/demos/laboratory/][http://dgrid.io/js/dgrid/demos/laboratory/]

我已将他们的示例代码嵌入到我的小部件中,但它不起作用。 (而不是包括我的整个小部件,我将只显示示例代码。) 它没有找到 dgrid/Editor,但它可以找到 dgrid/editor。 显示网格标题和数据的空框,但没有数据。

require([
    'dojo/_base/declare',
    'dstore/Memory',
    'dstore/Trackable',
    'dgrid/OnDemandGrid',
    'dgrid/Keyboard',
    'dgrid/CellSelection',
    'dgrid/Editor'   // I have to use dgrid/editor for this to be found
], function (declare, Memory, Trackable, OnDemandGrid, Keyboard, CellSelection, Editor) 
    var store = new (declare([Memory, Trackable]))(
        data: createData()
    );

    // Instantiate grid
    var grid = new (declare([OnDemandGrid, Keyboard, CellSelection, Editor]))(
        collection: store,
        columns: 
            First_Name: 
                label: 'First Name',
                editor: 'text'
            ,
            Last_Name: 
                label: 'Last Name'
            
        
    , 'grid');

    grid.startup();

    function createData() 
        var data = [];
        var column;
        var i;
        var item;

        for (i = 0; i < 50; i++) 
            item = ;
            for (column in  First_Name: 1, Last_Name: 1 ) 
                item.id = i;
                item[column] = column + '_' + (i + 1);
            
            data.push(item);
        

        return data;
    
);

【问题讨论】:

您是否遇到任何错误? 没有错误。当我在调试器中查看数据时,数据在商店中清晰可见。 【参考方案1】:

好的,我找到了答案。

Esri 在其 javascript api 中有两个目录,dgrid 和 dgrid1。 而且其中的文件基本相同(至少按文件名)

显然“正确”的类在 dgrid1 中,而不是 dgrid。

我认为将代码放在与文档名称不同的目录中可能是有充分理由的,但是从我现在的位置,不知道这个原因,我只能说“谢谢你让我打我的头在这上面贴了两天的墙。非常感谢。”

【讨论】:

以上是关于Dojo OnDemandGrid 不会显示数据的主要内容,如果未能解决你的问题,请参考以下文章

我找不到将数据库源添加到 dgrid 的优雅方法

如何在 OnDemandGrid 中更改小部件的宽度

二次封装dojo slider

是啥导致我的 dojo GridX 出现奇怪的图形故障?

应用查询后重置OnDemandGrid dGrid

当用户完成列重新排序时如何防止 renderHeaderCell() 调用