• Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

Problemas al enviar parametro desde un combobox

Foros generales de ayuda Ext 2.0.

Ext.foro.Nuevo
Mensajes: 6
Registrado: 15 Jul 2010, 11:30
NotaPublicado: 30 Ago 2010, 12:20
Hola a todos en el foro, tengo el siguiente problema quiero cargar un combobox desde una base de datos en mysql, pero para que me realice un busqueda efectiva tengo que enviarle unos parametros desde mi combobox aqui les pongo el codigo del combo
Código: Seleccionar todo
           xtype:'combo',
                    fieldLabel:'Tipo de Presupuesto', 
                    id:'combodesglose',
                    store:new Ext.data.JsonStore({ 
                    url:'obra_control_avance2.php',                                 
                    root: 'data', 
                    totalProperty: 'num',
                    id: 'stores',  // ID lo llame igual que el nombre del STORE
                    baseParams: {task: 'COMBO',
                                         NroOrden: Ext.get('NroOrden').dom.value},
                    fields: [{name:'FechaAvance', type: 'string'}, 
                    {name:'NroOrden', type: 'string'},
                    ] 
                    }),
               displayField:'FechaAvance',   // Muestro el nombre
                    valueField: 'FechaAvance',
                   // emptyText:'Seleccione Tipo de Presupuesto', 
                    triggerAction: 'all',
               hiddenName: 'MunicipioValue',
                    //hideTrigger:true, 
                    editable:false,
               anchor:'80%'

como pueden ver en baseParams le estoy enviando a obra_control_avance2.php, (task: 'COMBO') que es una variable para un switch de seleccion de procesos en el php y (NroOrden: Ext.get('NroOrden').dom.value) que seria un dato que tomo de el campo de texto llamado NroOrden,el error que me genera es el siguiente Ext.get("NroOrden") is null, lo que yo pienso es que no me esta reconociendo que existe el campo al cual le voy a extraer el dato, otra cosa que me gustaria saber es donde puedo declarar el store para que este error no se genere, les dejo el codigo de como cargo todos los campos del from

Código: Seleccionar todo
  items: [{
                          xtype:'textfield',
                          fieldLabel: 'Codigo Pep',
                          name: 'CodObra',
          id: 'CodObra',
         vtype: 'phone',
          readOnly:true,
          allowBlank:false,
         enableKeyEvents: true,
         anchor:'92%'
                },{ name: 'task', id: 'task', xtype:'hidden', value: 'USUARIOS'},
            {
                    xtype:'textarea',
                                        fieldLabel: 'Nombre de la Obra',
                                        name: 'NombreObra',
                    // allowBlank:false,
               readOnly:true,
                id: 'NombreObra',
                anchor: '92% 20%'
            },{ name: 'IdTiPoObra', id: 'IdTiPoObra', xtype:'hidden'
            
            },{
                xtype:'textfield',
                                         fieldLabel: 'Nombre de la Contratista O Cooperativa',
                                         name: 'NombreContratista',
                //allowBlank:false,
                id: 'NombreContratista',
                readOnly:true,
                anchor:'92%'
            },{ name: 'IdContratista', id: 'IdContratista', xtype:'hidden'},
            {
                xtype:'textfield',
                                        fieldLabel: 'Numero de Orden',
                                        name: 'NroOrden',
                allowBlank:false,
                id: 'NroOrden',
                readOnly:true,
                anchor:'92%'
            }]
            },{ columnWidth:.3,layout: 'form', border:false,bodyStyle:'padding: 1px 1px 0',
                   
                 
             items: [{bodyStyle:'padding: 5px 3px 0'},
                  
                   { xtype: 'tbbutton',
                         border:false,
                        id:'Catalogo1',
                                            text: 'Codigo PEP',
                        tooltip:'Click para Buscar el Codigo de la Obra',
                        handler: function() {
                                 Codigo_pep();
                                 ventanapep.show();
                                gridPep.reconfigure(xDataStorePep, xColumnModelPep);
                               xDataStorePep.reload({params: {start: 0, limit: 25}});
         }
                   
             
            },{bodyStyle:'padding: 130px 4px 0'},
            { xtype: 'tbbutton',
               border:false,
               id:'Catalogo2',
                                   text: 'Nº de Orden',
               tooltip:'Click para Buscar el Numero de Orden',
               handler: function() {
          
                        Numero_orden();
                                   ventanaOrden.show();
                                 gridOrden.reconfigure(xDataStoreOr, xColumnModelOr);
                                xDataStoreOr.reload({params: {start: 0, limit: 25}});
         }
                   
            }]
          }]
         
                },{
            
                  
                     title: 'Datos del Avance',
                     layout:'form',
                  id:'avancecombo',
                  xtype:'fieldset',
                    labelAlign: 'top',
                                   autoHeight:true,
                  
           
            items: [{
                 
                                       xtype:'combo',
                                      fieldLabel:'Tipo de Presupuesto', 
                                     id:'combodesglose',
                                     store:new Ext.data.JsonStore({ 
                                     url:'obra_control_avance2.php',                                 
                                     root: 'data', 
                                    totalProperty: 'num',
                                    id: 'stores',  // ID lo llame igual que el nombre del STORE
                                   baseParams: {task: 'COMBO',
                NroOrden: Ext.get('NroOrden').dom.value},
                                    fields: [{name:'FechaAvance', type: 'string'}, 
                                   {name:'NroOrden', type: 'string'},
                                   ] 
                                    }),
               displayField:'FechaAvance',   // Muestro el nombre
                                       valueField: 'FechaAvance',
                                       // emptyText:'Seleccione Tipo de Presupuesto', 
                                       triggerAction: 'all',
               hiddenName: 'MunicipioValue',
                                      //hideTrigger:true, 
                                       editable:false,
               anchor:'80%'
                },{
                           xtype:'textarea',
                                    fieldLabel: 'Descripción',
                                    name: 'Descripavance1',
                 id: 'Descripavance1',
                                     //vtype:'phone',
                 // allowBlank:false,
                                      anchor:'80% 40%'
                          }
             ]
            
         }


Tambien les voy a dejar el php y el proceso que llamo con el combo

Código: Seleccionar todo
  function combo() {
    
           $NroOrden=$_POST['NroOrden'];

           $result = mysql_query("SELECT  a.FechaAvance, a.NroOrden FROM avance a
                                             WHERE 1 = 1
                  and NroOrden='$NroOrden'
                                           order by FechaAvance ASC");
                  

           while($row = mysql_fetch_assoc($result)){
          $arreglo[] = array('FechaAvance' => utf8_encode($row["FechaAvance"]), 'NroOrden' => utf8_encode($row["NroOrden"]));
           }
           $json = array( 
          "num"=>count($arreglo), 
          "data"=>$arreglo 
          );
          echo json_encode($json);
}


Gacias!!
Para no ver esta publicidad, debes ser usuario del Foro.
Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)


Cuixer, una forma de administrar páginas web que nunca viste!

Avatar de Usuario
Ext.foro.Administrador
Mensajes: 1932
Registrado: 07 Mar 2008, 20:45
Ubicación: Argentina
NotaPublicado: 30 Sep 2010, 02:28
Del ComboBox, deja el baseParams de la siguiente manera:
Código: Seleccionar todo
baseParams: {task: 'COMBO'}


Y cuando lo quieras recargas, haces:
Código: Seleccionar todo
Ext.getCmp('combodesglose').getStore().load({
        params: {
                NroOrden: Ext.getCmp('NroOrden').getValue()
        }
});

Asegurate que el campo que va a tener el valor a pasar en NroOrden tenga el id NroOrden.

Volver a Ext 2.0: Ayuda





  • Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

cron