我想要一个dojox.grid.DataGrid和dojo.data.ItemFileReadStore作为数据存储。我想要它充满整个屏幕。我不想用像素指定尺寸。我看到的所有例子都是用像素指定尺寸或者使用CSV数据存储。我尝试过使用HTML元素和javascript来设置datagrid和存储。
有人这样做过吗?有bug吗?这看起来像是每个人都想要的,但也许因为某些原因不可能。有什么想法吗?谢谢!
编辑以插入程式码:
<div id="gridContainer" style="width: 100%; height: 100%;"></div>
<div id="gridContainer1" style="width: 400px; height: 200px;"></div>
<script type="text/javascript">
dojo.addOnLoad(function(){
// our test data store for this example:
var jsonStore = new dojo.data.ItemFileReadStore({
url: '/mydata.json'
});
var layout = [{
field: 'id',
name: 'id',
width: '20px'
},
{
field: 'name',
name: 'name',
width: '50px'
},
{
field: 'owner',
name: 'owner',
width: '50px'
}];
// create a new grid:
var grid = new dojox.grid.DataGrid({
query: {
rowid: '*'
},
store: jsonStore,
clientSort: true,
rowSelector: '20px',
structure: layout
},
document.createElement('div'));
dojo.byId("gridContainer1").appendChild(grid.domNode);
grid.startup();
});
</script>
根据我使用的是gridContainer还是gridContainer 1,它分别不显示或显示网格。
怎么回事?
1条答案
按热度按时间m3eecexj1#
是的-完全有可能。1)页面布局是布局小部件(ContentPane、StackContainer、BorderContainer、TabContainer...)的责任。网格能够参与布局,但你真的应该把它放在一个专为布局而设计的容器中。
2)程序创建可通过以下方式实现:
其中
MyFirstColumnHeader是您希望出现在第一列标题中的文本
someColumnInMyData是要显示的数据中的对象属性或“列
gridPlaceholder是页面上放置网格的div(只需向ContentPane添加一个空div,并将ContentPane的样式设置为width:100%,身高:百分之百
uniqueIdOfEachItem是每个显示项的属性,用于将它们标记为唯一,例如它们的主键或ID属性
这个例子创建了一个读/写存储,并且有一个简单的布局,但是Dojo文档应该能够帮助处理更复杂的例子。