Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2013, 10:07
martin_9_91
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 9 años, 6 meses
Puntos: 3
Un solo archivo PHP

Hola Amigos, espero que anden bien. Les comento que soy nuevo con EXTJS y estoy haciendo un ABM, para ello utilizo un store, un panel y le agrego unos botones. Mi problema viene con este tema, yo para el store utilizo un archivo .php, después para insertar utilizo otro archivo php y ahora quiero programar el botón eliminar y tengo que agregar otro archivo php. Hay alguna forma de utilizar solamente un archivo php o es imposible?.

Muchas Gracias

Este es mi código

Código PHP:


//Ejecuto el OnReady y crea el form
Ext.onReady(function(){
 
 
//Creo el DataModel
 
Ext.define('User', {
     
extend'Ext.data.Model',
     
fields: [
         {
name'id'type'int'},
         {
name'usuario',  type'string'},
         {
name'pass',       type'string'}
     ]
 });

 
//Creo el Store
 
var myStore Ext.create('Ext.data.Store', {
     
model'User',
     
proxy: {
         
type'ajax',
         
//Código PHP
         
url'../php/UsData.php',
         
reader: {
             
type'json',
             
root'users'
         
}
     },
     
autoLoadtrue
 
});

    
//Crea el Gridpanel
    
var grid Ext.create('Ext.grid.Panel', {
        
renderToExt.getBody(),
        
width500,
        
height300,
        
frametrue,
        
title'Usuarios',
        
//Cargo el store
        
storemyStore,
        
stripeRowstrue,
        
iconCls'icon-user',
        
        
//Defino las columnas
        
columns: [
            { 
id:'id'text'ID'width40sortabletruedataIndex'id'}, 
            { 
text'Usuario'width80sortabletruedataIndex'usuario'field: { xtype'textfield' }}, 
            { 
text'Contraseña',flex1sortabletruedataIndex'pass'field: { xtype'textfield' }}
        ],
        
        
//Agrego los botones
        
dockedItems: [{
            
xtype'toolbar',
            
items: [{
                
//Botón Agregar
                
name'agregar',
                
text'Agregar',
                
closabletrue,
                
iconCls'',
                
//Agrego el formulario agregar
                
handler: function(){
                    
//Creo el panel y le paso los datos a login
                    
var login Ext.create('Ext.form.Panel', {
                    
title'NUevo Usuaro',
                    
bodyPadding5,
                    
width385,
                    
standardSubmittrue,

                    
// Petición Ajax
                    
url'../php/UsInsert.php',

                    
//Defino el layout
                    
layout'anchor',
                    
defaults: {
                    
anchor'100%'
                    
},

                    
// Defino los campos
                    
defaultType'textfield',
                    
items: [{
                        
fieldLabel'Usuario',
                        
name'usuario',
                        
allowBlankfalse
                    
}, {
                        
fieldLabel'Password',
                        
name'pass',
                        
inputType'password',
                        
allowBlankfalse
                    
}],

                    
// Defino los botones
                    
buttons: [ 
                        {    
                        
text'Salir',
                        
//Indico que hacer al presionar el boton Cancelar
                        
handler: function () {
                            
//Sale del formulario
                            
login.hide();
                            
win.hide();
                        }
                    },
                    {
                        
text'Grabar',
                        
formBindtrue//only enabled once the form is valid
                        
disabledtrue,
                        
//Indico que hacer al presionar el botón login
            
                        
handler: function () {
                            
login.getForm().submit({
                                
method'POST',
                                
waitTitle'Insertando',
                                
waitMsg'Grabando en la base de datos...',
                            });
                        }
                    }],

                    
renderToExt.getBody()
                    });

                    
// Usamos un Window para mostrar el Nuevo Usuario en una ventanita
                    
var win = new Ext.Window(
                    {
                    
layout'fit',
                    
width400,
                    
height160,
                    
closablefalse,
                    
resizablefalse,
                    
plaintrue,
                    
items: [login// y acá cargamos el panel con el Nuevo Usuario

                    
}
                    );
                    
//Muestro la ventana atras del panel
                    
win.show();
                }
            },    
                
//Termina el formulario agregar
                
{
                
//Botón Eliminar
                
itemId'delete',
                
text'Eliminar',
                
iconCls'icon-delete',
                
disabledtrue,
                
handler: function(){
                    var 
selection grid.getView().getSelectionModel().getSelection()[0];
                    if (
selection) {
                        
myStore.remove(selection);
                    }
                }
            }]
        }]
    });

    
grid.getSelectionModel().on('selectionchange', function(selModelselections){
        
grid.down('#delete').setDisabled(selections.length === 0);
    });

    
// Usamos un Window para mostrar el Nuevo Usuario en una ventanita
    
var win = new Ext.Window(
    {
        
layout'fit',
        
width500,
        
height400,
        
closablefalse,
        
resizablefalse,
        
plaintrue,
        
items: [grid// y acá cargamos el panel con el Nuevo Usuario

    
}
    );
    
//Muestro la ventana atras del panel
    
win.show();
    
});