将 Dojo Grid 与内存存储一起使用
Using Dojo Grid with a Memory store
我在使用 Dojo Grid 小部件时遇到了一些问题。
网格本身是以声明方式添加的:
<table data-dojo-type="dojox.grid.DataGrid" data-dojo-attach-point="relationshipsGrid"></table>
接下来,我尝试将网格绑定到内存数据存储:
var relationships = [
{ id: 1, market: "SE", entity: "An object" },
{ id: 2, market: "SE", entity: "Another object" },
{ id: 3, market: "SE", entity: "Yet another object" }
];
var store = new Memory({ data: relationships });
var layout = [[
{ 'name': 'ID', 'field': 'id', 'width': '10px' },
{ 'name': 'Market', 'field': 'market', 'width': '30px' },
{ 'name': 'Entity', 'field': 'entity', 'width': '100px' }
]];
this.relationshipsGrid.structure = layout;
this.relationshipsGrid.store = store;
this.relationshipsGrid.startup();
但是,我最终得到的是一个空的、高度为 0 的网格。如果我明确地为它设置一个高度,我只会得到一个空的灰色区域。呈现了大量 Dojo 标记,但我的商店中没有任何商品。
我确定我忽略了一些微不足道的事情(希望如此),但非常感谢您的帮助! :)
dojox/grid
直接不支持dojo/store
API,也不再维护
您有几个选择:
- 用
dojo/data/ObjectStore
包裹 dojo/store
以将其转换为 dojox/grid
理解 的旧 dojo/data
API
- 直接使用
dojo/data
商店(不推荐,因为它已被弃用多年)
- 使用更现代的网格包,例如 dgrid (0.3.x supports
dojo/store
; 0.4.x supports dstore,旨在成为下一代 dojo 商店)
我在使用 Dojo Grid 小部件时遇到了一些问题。
网格本身是以声明方式添加的:
<table data-dojo-type="dojox.grid.DataGrid" data-dojo-attach-point="relationshipsGrid"></table>
接下来,我尝试将网格绑定到内存数据存储:
var relationships = [
{ id: 1, market: "SE", entity: "An object" },
{ id: 2, market: "SE", entity: "Another object" },
{ id: 3, market: "SE", entity: "Yet another object" }
];
var store = new Memory({ data: relationships });
var layout = [[
{ 'name': 'ID', 'field': 'id', 'width': '10px' },
{ 'name': 'Market', 'field': 'market', 'width': '30px' },
{ 'name': 'Entity', 'field': 'entity', 'width': '100px' }
]];
this.relationshipsGrid.structure = layout;
this.relationshipsGrid.store = store;
this.relationshipsGrid.startup();
但是,我最终得到的是一个空的、高度为 0 的网格。如果我明确地为它设置一个高度,我只会得到一个空的灰色区域。呈现了大量 Dojo 标记,但我的商店中没有任何商品。
我确定我忽略了一些微不足道的事情(希望如此),但非常感谢您的帮助! :)
dojox/grid
直接不支持dojo/store
API,也不再维护
您有几个选择:
- 用
dojo/data/ObjectStore
包裹dojo/store
以将其转换为dojox/grid
理解 的旧 - 直接使用
dojo/data
商店(不推荐,因为它已被弃用多年) - 使用更现代的网格包,例如 dgrid (0.3.x supports
dojo/store
; 0.4.x supports dstore,旨在成为下一代 dojo 商店)
dojo/data
API