Foro

Problema con Panel

0
Hola buenas tardes estoy aqui una vez mas molestando por lo siguiente, tengo un viewport, con el siguiente codigo, y lo que quiero es poder cargar un panel en una region pero no lo he podido conseguir, desde ya gracias...
            function ejecutaFuncion(){
                alert("Aqui...");
                Ext.getCmp('contentpanel').layout.setActiveItem('ventanaRegistros');
                v.show();
            }
            
            var panelPrueba = new Ext.FormPanel({
                id     : 'ventanaRegistros',
                title  : 'Registro de vehiculos',
                frame:true,
                border:true,
                items:[
                    {xtype:'textfield',
                        label:'prueba',
                        width:120,
                        name:'oo'}
                ]
            });
            var v = new Ext.Window({
                items:[panelPrueba]
            });
         
            var contentPanel = new Ext.Panel({
                id         : 'contentpanel',
                region     : 'center',
                layout     : 'card',
                margins    : '2 5 5 0',
                activeItem : 0,
                border     : true,
                title      : 'centro',
                frame      : true
               
            });
            var viewport = new Ext.Viewport({
                id      : 'viewports',
                layout  : 'border',
                title   : 'Control de Visitas',
                items   : [
                    {
                        title     : 'east',
                        xtype     : 'panel',
                        region    : 'east',
                        height    : 100,
                        border    : true,
                        contentEl :'xx'
                    },
                    {
                        title     : 'south',
                        xtype     : 'panel',
                        region    : 'south',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     : 'west',
                        xtype     : 'panel',
                        region    : 'west',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     :'norte',
                        xtype     : 'panel',
                        region    : 'north',
                        height    : 100,
                        border    : true
                    },contentPanel],
                renderTo : Ext.getBody()
            });
            Ext.getCmp('contentpanel').layout.setActiveItem('ventanaRegistros');
            if(contentPanel.layout.activeItem.id == 'contentpanel') {
                alert("Activa");
            }else{
                alert("No Activa");
            }
0
agregale un doLAyout y veras que te funciona
ctn = Ext.getCmp('contenedor');
ctn.add(panelPrueba);
ctn.doLayout();
pd: debes eliminar el layout: 'card', porque no te lo mostrara sino lo haces, si es que neesitas esa configuracion habra que buscar otra forma como colocarlo
0
Agradecido, esta vez funciona, lo que si debo hacer es remover el panel que se cargo primero, y luego cargar el segundo, aqui hay una persona que hace lo mismo pero la region del centro tiene la sgte. propiedad [b]activeItem : 0[/b], y luego lo carga de esta forma, [b]Ext.getCmp('contenedor').layout.setActiveItem('ventanaRegistros');[/b], donde el contenedor es el id del panel del centro y ventanaRegistros es el id del panel que quiero cargar, mi duda ahora es si a el le funciona, porque a mi no, en igual version de extjs......desde ya gracias, ahhh y manda chumbeque jajaja
0
puedes pegarme el enlace del tipo al que le funciona, pera estudiarlo y talvez poder ayudarte mas. hace tiempo que no como chumbeque porque me tranca,jajaja
0
el lo tiene en su maquina con un servidor php, te envie un pm
0
veo que tu componente "v" no esta asignado a ninguna región, por lo que deberías asignarlo como "items" dentro de la región donde quieres que aparezca. Ahora bien, creo no debería ser un componente "window" a menos que quieras utilizar alguna de sus propiedades implicitas como el botón de "cerrar", "minimizar", etc
0
Si la verdad que el componente v esta de mas lo que en verdad quiero es poder cargar el panel de id "ventanaRegistros" dentro del centro...
0
creo que deberia ser asi:
var viewport = new Ext.Viewport({
                id      : 'viewports',
                layout  : 'border',
                title   : 'Control de Visitas',
                items   : [
                    {
                        title     : 'east',
                        xtype     : 'panel',
                        region    : 'east',
                        height    : 100,
                        border    : true,
                        contentEl :'xx'
                    },
                    {
                        title     : 'south',
                        xtype     : 'panel',
                        region    : 'south',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     : 'west',
                        xtype     : 'panel',
                        region    : 'west',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     :'norte',
                        xtype     : 'panel',
                        region    : 'north',
                        height    : 100,
                        border    : true
                    },{
                        title     :'centro',
                       // xtype     : 'panel', creo que está demás aunque no lo he probado
                        region    : 'center',
                        height    : 100,
                        border    : true,
                        items      : [panelPrueba]
                    }],
                renderTo : Ext.getBody()
            });
0
Gracias por responder, pero en realidad, lo que necesito, es que al momento de hacer clic en link se cargue en forma dinamica un panel en la region del centro, el codigo que ocupo esta aqui, al momento de dar clic en el link, no hace nada, ni siquiera da error, y la verdad me tiene loco desde ya gracias.
    <body>
        <a href="#" onclick="ejecutaFuncion();"id ="xx">Cargar</a>
        <script>
            function ejecutaFuncion(){
                Ext.getCmp('contenedor').layout.setActiveItem('ventanaRegistros');
            }
            var panelPrueba = new Ext.FormPanel({
                id     : 'ventanaRegistros',
                title  : 'Registro de vehiculos',
                frame:true,
                border:true,
                items:[
                    {xtype:'textfield',
                        label : 'prueba',
                        width : 120,
                        name  : 'oo'}
                ]
            });
            var viewport = new Ext.Viewport({
                id      : 'viewports',
                layout  : 'border',
                title   : 'Control de Visitas',
                items   : [
                    {
                        title     : 'east',
                        xtype     : 'panel',
                        region    : 'east',
                        height    : 100,
                        border    : true,
                        contentEl :'xx'
                    },
                    {
                        title     : 'south',
                        xtype     : 'panel',
                        region    : 'south',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     : 'west',
                        xtype     : 'panel',
                        region    : 'west',
                        height    : 100,
                        border    : true
                    },
                    {
                        title     :'norte',
                        xtype     : 'panel',
                        region    : 'north',
                        height    : 100,
                        border    : true
                    },{
                        title     :'centro',
                        id        :'contenedor',
                        layout    :'card',
                        activeItem: 0,
                         xtype     : 'panel', //creo que está demás aunque no lo he probado
                        region    : 'center',
                        height    : 100,
                        border    : true
                    }],
                renderTo : Ext.getBody()
            });
        </script>
    </body>
0
segun veo, en tu funcion ejecutaFuncion() deberias colocar algo como:
           var panelPrueba = new Ext.FormPanel({
                id     : 'ventanaRegistros',
                title  : 'Registro de vehiculos',
                frame:true,
                border:true,
                items:[
                    {xtype:'textfield',
                        label : 'prueba',
                        width : 120,
                        name  : 'oo'}
                ]
            });
     Ext.getCmp('contenedor').add(panelPrueba);
eso deberia funcionar, mañana en el trabajo hago una prueba y te digo
0
Lamento decirte que no funciono....... <!-- s:cry: --><!-- s:cry: -->

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.