У меня следующая проблема:
Программно создавая dijit.Dialog и dojox.grid.DataGrid (связанный с глобальным хранилищем переменных данных (dojo.store.Memory)), содержимое диалога не отображается, в то время как размер диалога остается минимальным.
Хранилище 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();
}
);
Может быть, я добавил что-то не в том порядке?
Также я не знаю, может ли мой способ комбинировать / добавлять виджеты Dojo
использование свойства domNode является правильным способом выполнения действий.
Я не знаю, нужно ли размещать используемую мной ContentPane
Сетка внутри Диалога. Оба варианта пока не работают.
Наконец, я не уверен, что и где Диалог нуждается в статических измерениях
правильно размер. По моему опыту сам диалог не нуждается в статических
ширина или высота, но у меня пока нет опыта добавления динамического компонента
как Grid - который может изменить свой размер позже при запуске - на Dialog.