Javascript 如何编制简易OnDemandList(dgrid)?

Javascript 如何编制简易OnDemandList(dgrid)?,javascript,dojo,dgrid,dstore,Javascript,Dojo,Dgrid,Dstore,我尝试创建一个非常简单的JSFIDLE来测试OnDemandList站点pen/dgrid。但它不会渲染任何行。有人知道我做错了什么吗?简单的数据存储/内存是否不提供fetchRange之类的方法?可以在以下位置找到JSFIDLE: 您正在使用最新的dstore,但使用的是旧的dgrid。dgrid的

我尝试创建一个非常简单的JSFIDLE来测试OnDemandList站点pen/dgrid。但它不会渲染任何行。有人知道我做错了什么吗?简单的数据存储/内存是否不提供fetchRange之类的方法?可以在以下位置找到JSFIDLE:


您正在使用最新的dstore,但使用的是旧的dgrid。dgrid的<1.x版本不支持dstore,您可以改用常规的dojo/store/Memory。在dgrid<1.x中,还需要存储属性而不是集合

require({
    packages: [
        {
            name: 'dgrid',
            location: '//cdn.rawgit.com/SitePen/dgrid/v0.3.16'
        },
        {
            name: 'xstyle',
            location: '//cdn.rawgit.com/kriszyp/xstyle/v0.2.1'
        },
        {
            name: 'put-selector',
            location: '//cdn.rawgit.com/kriszyp/put-selector/v0.3.5'
        },
        {
            name: 'dstore',
            location: '//cdn.rawgit.com/SitePen/dstore/master'
        }
    ]
}, [
    'dgrid/OnDemandList',
    'dstore/Memory',
    'dojo/dom',
], function(OnDemandList, Memory, dom) {
    var data = [
        { id: 1, name: 'Peter' },
        { id: 2, name: 'Paul' },
        { id: 3, name: 'Mary' }
    ];
    var store = new Memory({ 
        data: data 
    });
    var list = new OnDemandList({
        collection: store,
        minRowsPerPage: 5,
        noDataMessage: "Keine Daten vorhanden",
        renderRow: function (object, options) {
            console.log("Zeile wurde gerendert.")
            var div = document.createElement('div');
            div.appendChild(document.createTextNode(object.name));
            return div;
        }
    }, dom.byId('list'));
    list.startup();
});
require({
    ...
}, [
    'dgrid/OnDemandList',
    //'dstore/Memory',
    'dojo/store/Memory',  // < --- regular dojo/store
    'dojo/dom',
], function(OnDemandList, Memory, dom) {
    ...
    ...
    var list = new OnDemandList({
        //collection: store,
        store: store,      // <--- store property
        ...
    }, dom.byId('list'));
    list.startup();
});
{
    name: 'dgrid',
    location: '//cdn.rawgit.com/SitePen/dgrid/v1.1.0'
    //location: '//cdn.rawgit.com/SitePen/dgrid/v0.3.16'
},