Dojo Dgrid存储问题:数据未显示

Dojo Dgrid存储问题:数据未显示,dojo,dgrid,Dojo,Dgrid,刚从DOJO和Dgrid开始。 我有一个使用内存存储的简单dgrid 但是,网页中的网格保持为空。仅显示标题 。。。。 @导入“/dgrid/css/dgrid.css”; 要求 ( [ “dojo/_base/declare”, “dojo/_基/阵列”, “dgrid/List”, “dgrid/Grid”, “dgrid/键盘”, “dgrid/Editor”, “dgrid/extensions/ColumnResizer”, “dijit/form/NumberTextBox”,

刚从DOJO和Dgrid开始。 我有一个使用内存存储的简单dgrid

但是,网页中的网格保持为空。仅显示标题

。。。。 @导入“/dgrid/css/dgrid.css”;


要求
(
[
“dojo/_base/declare”,
“dojo/_基/阵列”,
“dgrid/List”,
“dgrid/Grid”,
“dgrid/键盘”,
“dgrid/Editor”,
“dgrid/extensions/ColumnResizer”,
“dijit/form/NumberTextBox”,
“数据存储/内存”,
“dojo/parser”,
“dojo/domReady!”,
“dijit/TooltipDialog”,
“dijit/form/DropDownButton”,
“dijit/layout/TabContainer”,
“dijit/layout/ContentPane”
], 
作用(
声明、arrayUtil、列表、网格、键盘、编辑器、列大小调整器、NumberTextBox、内存
){
var prevpds=[
{itemnu:“测试”,itemna:,batchn:,cqty:5,sqty:5,sz:5},
{itemnu:“测试44”,itemna:,batchn:,cqty:1,sqty:2,sz:3}
];
var pdsstore=新内存({data:prevpds});
var getColumns=[
{标签:“项目编号”,id:“itemnu”,字段:“文本”,编辑器:“文本”},
{标签:“项目名称”,id:“项目NA”,字段:“文本”,编辑器:“文本”},
{标签:“批次号”,id:“批次号”,字段:“文本”,编辑器:“文本”},
{标签:“相关数量”,id:“cqty”,字段:“floatnumber”,编辑器:“NumberTextBox”},
{标签:“售出数量”,id:“sqty”,字段:“floatnumber”,编辑器:“NumberTextBox”},
{标签:“大小/直径”,id:“sz”,字段:“floatnumber”,编辑器:“NumberTextBox”}
];
var PdsGrid=declare([Grid,Keyboard,Editor,ColumnResizer]);
window.grid=new PdsGrid(
{
门店:pdsstore,
列:getColumns
},“pdstable2”
);
}
);

您至少有两个问题

首先,假设您使用的是dgrid 0.4(我假设您也使用了dstore),那么应该设置
collection
,而不是
store

其次,基本列表和网格模块不从存储中读取;您需要使用OnDemandGrid或分页扩展

dojo存储(内存/数据存储)需要一个标识属性来唯一标识行。在
prevpds
数据中引入
id
字段,即
[{id:1,itemenu:“TEST”…},{id:2,itemenu:“TEST 44”…}
并检查dgrid渲染是否正确。
    <script src="./dojo/dojo.js" 
    data-dojo-config="async: true, parseOnLoad: true, isDebug: true">
    </script>

   <script language="javascript">  

    require
    (
        [
            "dojo/_base/declare", 
            "dojo/_base/array", 
            "dgrid/List",
            "dgrid/Grid",
            "dgrid/Keyboard",
            "dgrid/Editor", 
            "dgrid/extensions/ColumnResizer",
            "dijit/form/NumberTextBox",
            "dstore/Memory",
            "dojo/parser",
            "dojo/domReady!",
            "dijit/TooltipDialog",
            "dijit/form/DropDownButton",
            "dijit/layout/TabContainer", 
            "dijit/layout/ContentPane"
        ], 
        function(
            declare, arrayUtil, List, Grid, Keyboard, Editor, ColumnResizer, NumberTextBox, Memory
        ){

            var prevpds =[ 
                {itemnu: "TEST", itemna: "", batchn: "", cqty: 5, sqty: 5, sz: 5},
                {itemnu: "TEST 44", itemna: "", batchn: "", cqty: 1, sqty: 2, sz: 3}
            ];

            var pdsstore = new Memory({data: prevpds});

            var getColumns = [
                { label: "Item Number", id: "itemnu", field: "text", editor: "text" },
                { label: "Item name", id: "itemna", field: "text", editor: "text" },
                { label: "Batch number", id: "batchn", field: "text", editor: "text" },
                { label: "Concerned Qty", id: "cqty", field: "floatnumber", editor: "NumberTextBox" },
                { label: "Sold Qty", id: "sqty", field: "floatnumber", editor: "NumberTextBox" },
                { label: "Size/ Diameter", id: "sz", field: "floatnumber", editor: "NumberTextBox" }
        ];

            var PdsGrid=declare([Grid, Keyboard, Editor, ColumnResizer]);

            window.grid = new PdsGrid(
                {
                    store: pdsstore,
                    columns: getColumns

                }, "pdstable2"
            );


        }
    );
   </script>