Why is my page not rendering EnhancedGrid

67 Views Asked by At

Good day to all, while studying dojo, I ran into a problem that I do not draw an EnhancedGrid on my page. this error appears in the browser console:

dojo.js.uncompressed.js:1321 Uncaught TypeError: Cannot read property 'get' of null
at Object.getFeatures (ObjectStore.js.uncompressed.js:241)
at Object._setStore (DataGrid.js.uncompressed.js:14511)
at Object.advice (dojo.js.uncompressed.js:8428)
at Object.c [as _setStore] (dojo.js.uncompressed.js:8408)
at Object.postCreate (DataGrid.js.uncompressed.js:14351)
at Object.l (dojo.js.uncompressed.js:10753)
at Object.postCreate (EnhancedGrid.js.uncompressed.js:90)
at Object.create (DataGrid.js.uncompressed.js:4330)
at Object.postscript (DataGrid.js.uncompressed.js:4243)
at new <anonymous> (dojo.js.uncompressed.js:10950)

the grid drawing script looks like this:

 var blogStore;
/**
 * Creates Dojo Store.
 */

require(["dojo/store/JsonRest",
    "dojo/data/ObjectStore"
], function (JsonRest, ObjectStore) {
    blogJsonStore = new JsonRest({
        handleAs: 'json',
        target: 'http://localhost:8080/myservice'
    });

    var data = {
        identifier: 'id',
        items: []
    };
    blogJsonStore.query({
        start: 0,
        count: 10
    }).then(function (results) {
        var res =[];
        res = results;
        if (0 === res.length){
            data.items.push("There are no entries in this blog. Create a post!!!")
        }else {
            data.items.push(results)
        }
    });
    blogStore = new ObjectStore({data: data});
});
/**
 * Creates Dojo EnhancedGrid.
 */
require(["dojox/grid/EnhancedGrid",
    "dojox/grid/enhanced/plugins/Filter",
    "dojox/grid/enhanced/plugins/NestedSorting",
    "dojox/grid/enhanced/plugins/Pagination",
    "dojo/domReady!"
], function (EnhancedGrid) {
    Grid = new EnhancedGrid({
        id: 'grid',
        store: blogStore,
        structure: [
            { name: 'Message', field: 'text', datatype: 'string',
                width: 'auto', autoComplete: true }
        ],
        rowsPerPage: 5,
        rowSelector: "20px",
        selectionMode: "single",
        plugins: {
            nestedSorting: true,
            pagination: {
                description: true,
                pageStepper: true,
                sizeSwitch: true,
                pageSizes: ["5","10","15","All"],
                maxPageStep: 4,
                position: "bottom"
            }
        }
    });
    Grid.placeAt('resultDiv');
    Grid.startup();
});

if you remove the blog "Creates Dojo Store." it renders normally Help me solve the problem. Thank you in advance for any help

0

There are 0 best solutions below