tengo el siguiente problema:cómo crear un dijit.Dialog con un dojox.grid.DataGrid
crear mediante programación un dijit.Dialog y una dojox.grid.DataGrid (vinculado a un almacén de datos variable global (dojo.store.Memory)) el contenido del Diálogo no se muestra mientras el tamaño del Diálogo permanece en un mínimo.
La tienda DataGrids está llena correctamente y Firebug muestra la cuadrícula dentro del cuadro de diálogo.
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();
}
);
Tal vez he agregado algo en el orden incorrecto?
Además, no sé si mi manera de combinar/agregar widgets de dojo usando la propiedad domNode es la manera correcta de hacer las cosas.
No sé si el ContentPane que estoy usando es necesario para colocar la cuadrícula dentro del cuadro de diálogo. Ambas variantes no funcionaron hasta ahora.
Por último, no estoy seguro de si el cuadro de diálogo necesita medidas estáticas para determinar el tamaño correcto. En mi experiencia, el cuadro de diálogo en sí no necesita ancho 0 alto estáticos , pero hasta ahora no tengo experiencia agregando un componente dinámico como la cuadrícula (que podría cambiar su tamaño más adelante en el inicio) a un cuadro de diálogo.
Esta solución me ha funcionado, pero al revisar esta pregunta veo posibles mejores soluciones, así que vuelvo a abrir esta pregunta para verificarlas. – elfwyn
Hice lo mismo. el problema es si estás tratando de agregar más que una grilla en tu diálogo. Pude hacer una solución, pero de alguna manera el diálogo no está centrado. – Nap
@Nap Tengo el mismo problema, ¡no está centrado! ¿Te preguntas si lo has solucionado? – Saky