我有以下问题:
以编程方式创建 dijit.Dialog 和 dojox.grid.DataGrid(链接到全局变量数据存储 (dojo.store.Memory) )不会显示 Dialog 的内容,而 Dialog 大小保持在最小值。
DataGrids 存储已正确填充,Firebug 在对话框中显示网格。
data = new dojo.data.ObjectStore(
{ objectStore: new dojo.store.Memory({data:[]}) });
data.put({id:0,name:'Franklin'});
showDialog = function(){
var dlg = dijit.byId('myDlg');
if(dlg){
dlg.show();
}
else{
var cp = new dijit.layout.ContentPane({style:"width:500;height:500;"});
var grid = new dojox.grid.DataGrid({
store : data,
structure : [
{field:'id',name:'ID',width:'50px'},
{field:'name',name:'Name',width:'400px'}]
},cp);
dlg = new dijit.Dialog({
id:'myDlg',
title:'Names',
content:cp.domNode
});
grid.startup();
dlg.show();
}
);
也许我以错误的顺序添加了一些东西?
此外,我不知道我使用 domNode 属性组合/附加 dojo 小部件的方式是否是正确的做事方式。
我不知道我使用的 ContentPane 是否需要将 Grid 放置在 Dialog 内。到目前为止,这两种变体都不起作用。
最后,我不确定 Dialog 是否以及在何处需要静态测量才能正确调整大小。以我的经验,对话框本身不需要静态宽度或高度,但到目前为止,我还没有向对话框添加像 Grid 这样的动态组件的经验——它可能会在启动时改变它的大小。