【问题标题】:Dgrid Store Issue: Data not displayingDgrid 存储问题:数据未显示
【发布时间】:2016-01-20 04:24:27
【问题描述】:

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

但是网页中的网格保持空白。只显示标题。

.... @import "./dgrid/css/dgrid.css";

    <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>    

【问题讨论】:

  • dojo store (memory/dstore) 需要一个标识属性来唯一标识一行。在prevpds 数据中引入id 字段,即[ {id:1, itemenu:"TEST"....}, {id:2, itemenu:"TEST 44"....},并检查dgrid 是否正确呈现。

标签: dojo dgrid


【解决方案1】:

你至少有两个问题。

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

其次,基本的 List 和 Grid 模块不会从存储中读取;您将需要使用 OnDemandGrid 或分页扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2020-10-05
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多