Подключение Dojo data.objectStore или data.ItemFileWriteStore к сетке - PullRequest
1 голос
/ 19 января 2012

Я пытаюсь подключить объект-магазин Dojo 1.7 или itemFileWriteStore к сетке, но я не уверен, что я делаю неправильно.

Когда я запускаю свой код ниже с помощью ItemFileWriteStore, я получаю сеткузаголовки, но я не вижу свои данные.Когда я использую ObjectStore, сетки там нет.

Что я делаю не так?

ОБНОВЛЕНИЕ: только что заметил, что атрибут store.data пуст.Значит ли это, что формат моего «dataBucket» может быть неправильным?

require(['dojo/on'
            ,'dojo/ready'
            ,'dojo/dom'
            ,"dojo/data/ObjectStore"
            ,"dojo/store/Memory"
            ,"dojox/grid/DataGrid"
            ,"dojo/data/ItemFileWriteStore"
            ],
            function (on,ready,dom,objStore,memStore,grid,itemStore){
                ready(function(){
                    var dataBucket = {//idProperty: 'ID',  //for object store?
                                      identifer: 'ID', //for itemStore
                                      items : [
                                          {ID : '100', col2 : 'Ciao Ciao'},
                                          {ID : '200', col2 : 'Hello'}
                                      ]};

                    var stuff = new itemStore({data : dataBucket});
                    //var stuff = new objStore({store : dataBucket});
                    //var stuff = new memStore({data : dataBucket});

                    var layout = [[
                            {'name':'ID','field' : 'ID','width' : '100px'},
                            {'name':'Stuff','field' : 'col2','width' : '100px'}
                        ]];
                    var myGrid = new grid({
                                id: 'grid',
                                store: stuff,
                                structure: layout,
                                rowSelector: '20px'},
                            document.createElement('div')
                    );

                    dojo.byId("bottomPane").appendChild(myGrid.domNode);

                    myGrid.startup();                        })
                })
            }
        )

Ответы [ 4 ]

1 голос
/ 25 января 2012

оказывается, что хранилище не было правильно заполнено данными.Он построил хранилище, не указав, что переданные данные были в неправильном формате

0 голосов
/ 18 сентября 2013

dojo / store / Memory переходят внутрь dojo / store / ObjectStore

stuff = new ObjectStore({ objectStore:new Memory({ data: dataBucket }) });

и свойство store сетки

var myGrid = new grid({
                        id: 'grid',
                        store: stuff,
                        structure: layout,
                        rowSelector: '20px'},
                        document.createElement('div')
                    );
0 голосов
/ 22 марта 2012

также вы пишете:

identifer: 'ID'

и это

identifier: 'ID'
0 голосов
/ 19 января 2012

Я думаю, что вы, возможно, ошиблись в определении layout.не должно ли второе field быть col2, как вы определили в своем dataBucket?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...