dojo 1.7 objectStoreまたはitemFileWriteStoreをグリッドに接続しようとしていますが、私が間違っていることがわかりません。Dojo data.objectStoreまたはdata.ItemFileWriteStoreをグリッドに接続する
ItemFileWriteStoreを使用してコードを実行すると、グリッドヘッダーが表示されますが、データは表示されません。 ObjectStoreを使用すると、グリッドはそこにありません。
私は間違っていますか?
UPDATE: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(); })
})
}
)
私はちょうど名前を変更しようとしましたが、それはまだ動作しません。私は店そのものと何か関係があると思います – thiswayup
'name'、' field'と 'ID'を囲む' ''を使わずに 'layout'を定義しようとします:' {name: 'ID'、field: 'ID' '100px'} '私のグリッドではこのように動作します。 – maialithar