我有以下問題:如何以編程方式創建dijit.Dialog與dojox.grid.DataGrid
編程方式創建dijit.Dialog和dojox.grid.DataGrid(鏈接到一個全局變量數據存儲( dojo.store.Memory)),當對話框尺寸保持最小時,不顯示對話框的內容。
DataGrids Store被正確填充,Firebug在對話框中顯示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是否需要在對話框中放置 Grid。到目前爲止,兩種變體都沒有工作。
最後,我不確定對話框是否需要以及在哪裏需要靜態測量 的尺寸正確。根據我的經驗,對話本身並不需要靜態的寬度或高度,但我目前還沒有經驗,像Grid一樣添加一個動態組件 ,它可能會在啓動後更改它的大小)到一個對話框。
這種溶劑對我有效,但在這個問題上查看我看到可能更好的溶劑 - 所以我再次打開這個問題來檢查這些問題。 – elfwyn 2011-11-01 15:58:53
我做了同樣的事情。問題是如果你想在對話框中添加多個網格。我能夠做一個解決方法,但不知何故對話框不居中。 – Nap 2014-01-11 12:47:27
@Nap我有同樣的問題,它沒有得到集中!不知道你是否把它整理出來了? – Saky 2017-08-16 08:17:04