我有以下问题: 以编程方式创建dijit.Dialog和dojox.grid.DataGrid(链接到全局变量数据存储(dojo.store.Memory)),当对话框大小保持最小时,不显示对话框的内容. DataGrids Store正确填充,Firebug在Dialog中
以编程方式创建dijit.Dialog和dojox.grid.DataGrid(链接到全局变量数据存储(dojo.store.Memory)),当对话框大小保持最小时,不显示对话框的内容.
DataGrids Store正确填充,Firebug在Dialog中显示Grid.
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(); } );
也许我添加了错误的顺序?
另外我不知道我的组合/附加dojo小部件的方式
使用domNode属性是正确的做事方式.
我不知道我使用的ContentPane是否有必要放置
对话框中的网格.到目前为止,这两种变体都不起作用
最后,我不确定Dialog是否需要静态测量
正确的大小.根据我的经验,Dialog本身不需要静态
宽度或高度,但到目前为止我没有添加动态组件的经验
比如网格 – 可能会在启动后改变它的大小 – 到Dialog.