1
我正试图动态创建一个DataGrid。声明创建工作的罚款:Dojo DataGrid,编程创建
数据来源:
<span dojoType="dojo.data.ItemFileReadStore"
jsId="theStore" url="dataonly001.json">
</span>
一个简单的布局:
<script type="text/javascript" >
var layout = [ {
field: 'custId',
name: 'Id',
} // more items elided ...
];
</script>
网格:
<body class="tundra" id="mainbody">
<div id="grid"
dojoType="dojox.grid.DataGrid"
store="theStore"
structure="layout"
autoWidth="true"
></div>
</body>
,我得到电网漂亮的一面展示。相反,我想动态地创建网格。为了搞清楚什么地方不对头的缘故,我已经试过用完全相同的布局和存储,删除刚刚电网声明并添加这个脚本:
<script type="text/javascript" djConfig="parseOnLoad: true, debugAtAllCosts: true">
dojo.addOnLoad(function(){
// initialise and lay out home page
console.log("Have a store:" + theStore);
console.log("Have a structure:" + layout);
var grid = new dojox.grid.DataGrid({
id : "grid",
store : theStore,
clientSort : "true",
structure : layout
});
grid.startup();
dojo.place(grid.domNode, dojo.body(), "first");
});
</script>
,我得到的是一个完全空矩形显示效果。使用FireBug我可以看到DataGrid小部件已经创建,但它没有行或列。所以我的猜测是数据存储或布局没有正确传递。但是,看起来在创建时theStore
和layout
的值是正确的。
建议请,或者确实是一个编程网格的工作示例可能会解决问题。
重新排序非常感谢。 – djna 2010-04-16 15:12:18