Search code examples
javascriptdojodgrid

Dgrid error when using selectors -renderedCollection.fetchRange is not a function


I'm trying to use the dgrid example with selectors using a memory store and am unable to populate the grid, I'm getting an error TypeError :renderedCollection.fetchRange is not a function. Please advise, how to go about this

I edited to include dstore/Memory. Still having issues loading the data in the grid

 require([
   'dojo/_base/declare', 'dgrid/Grid', 'dgrid/Selector', 'dstore/Memory'
  ], function (declare, Grid, Selector, Memory) {


/* jshint maxlen: 300 */
var dataList = [
    { col1: 'normal', col2: false, col3: 'new', col4: 'But are not followed by two hexadecimal', col5: 29.91, col6: 10, col7: false },
    { col1: 'important1', col2: false, col3: 'new', col4: 'Because a % sign always indicates', col5: 9.33, col6: -5, col7: false },
    { col1: 'importan2t', col2: false, col3: 'read', col4: 'Signs can be selectively', col5: 19.34, col6: 0, col7: true },
    { col1: 'note1', col2: false, col3: 'read', col4: 'However the reserved characters', col5: 15.63, col6: 0, col7: true },
    { col1: 'normal4', col2: false, col3: 'replied', col4: 'It is therefore necessary', col5: 24.22, col6: 5.50, col7: true },
    { col1: 'important', col2: false, col3: 'replied', col4: 'To problems of corruption by', col5: 9.12, col6: -3, col7: true },
    { col1: 'note', col2: false, col3: 'replied', col4: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris', col5: 12.15, col6: -4, col7: false }
];


   var employeeStore = new Memory({data:dataList, idProperty: 'col1'});


// In 0.4, Selector already inherits Selection so you don't have to
var grid = new (declare([ Grid, Selector ]))({
    collection: employeeStore,
    columns: {
        col1: 'Column1',
        col2: 'Column 2'
    }
}, 'grid');

grid.startup();

});


Solution

  • This doesn't quite look like one of dgrid's examples. You're using dojo/store/Memory, but dgrid 0.4+ natively supports dstore, not dojo/store.

    dstore/Memory is functionally very similar to dojo/store/Memory, so you should be able to use that for this example without issue.