Comunidad de diseño web y desarrollo en internet online

Ayuda con data grid

Citar            
MensajeEscrito el 18 Feb 2010 10:07 pm
Saludos estoy tratando de hacer una pequeña aplicacion Flex tengo dos componetes que los llamo como PopUp desde la ventana principal uno contiene un data grid para visualizar los datos y el otro un formulario para agregar, mi problema radica en que el data grid no me quiere mostrar los datos que agrego. aqui va el codigo donde esta el datagrid:

Código Flex :

<?xml version="1.0" encoding="utf-8"?> 
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
        width="862" 
        height="588" 
        showCloseButton="true" 
        close="salir();" 
        creationComplete="Complete();"> 
 
<mx:Script> 
   
<![CDATA[  
      import mx.managers.PopUpManager; 
      import mx.controls.Alert; 
       
      private function salir():void 
      { 
         PopUpManager.removePopUp(this); 
      } 
       
      private function Complete():void 
      { 
            PopUpManager.centerPopUp(this); 
            prueba.send(); 
             
        } 
         
      private function agregar():void 
      { 
       var edif:add_edificio=new add_edificio(); 
       PopUpManager.addPopUp(edif, this, true); 
      } 
       
    
]]>
 
</mx:Script> 
 
<mx:HTTPService id="prueba" url="http://localhost/ejemplo/src/edificio.php"  
    useProxy="false" resultFormat="e4x"/>  
 
<mx:Canvas width="100%" height="100%"> 
 
<mx:DataGrid id="dataGrid" dataProvider="{prueba.lastResult.users.user}" 
    bottom="10" top="10" right="10" left="117" 
    resizableColumns="true"> 
    
    <mx:columns>  
           <mx:DataGridColumn headerText="INSTITUCION" dataField="codigo_in"/>        
           <mx:DataGridColumn headerText="CODIGO EDIFICIO" dataField="codigo_ed"/>        
         <mx:DataGridColumn headerText="DESCRIPCION" dataField="descripcion"/>  
           <mx:DataGridColumn headerText="USUARIO CREADOR" dataField="usuario"/>        
           <mx:DataGridColumn headerText="FECHA CREACION" dataField="fecha"/>        
 
      </mx:columns>  
    </mx:DataGrid>  
    
     <mx:Button x="10" y="10" label="Agregar"  click="agregar()" width="99" height="40" icon="@Embed(source='../bin-debug/icons/agregar.png')" textAlign="left"/> 
   <mx:Button x="10" y="58" label="Modificar" width="99" height="40" icon="@Embed(source='../bin-debug/icons/editar.png')" textAlign="left"/> 
   <mx:Button x="10" y="106" label="Deshacer" height="40" width="99" icon="@Embed(source='../bin-debug/icons/deshacer.png')" textAlign="left"/> 
   <mx:Button x="10" y="154" label="Imprimir" height="40" width="99" icon="@Embed(source='../bin-debug/icons/imprimir.png')" textAlign="left"/> 
   <mx:Button x="10" y="202" label="Cerrar" height="40" width="99" click="salir()" icon="@Embed(source='../bin-debug/icons/cerrar.png')" textAlign="left"/> 
   <mx:Button x="10" y="250" label="Refrescar" height="40" width="99" click="prueba.send()" icon="@Embed(source='../bin-debug/icons/actualizar.png')" textAlign="left"/> 
 
 
  </mx:Canvas>        
</mx:TitleWindow> 
 



aqui va el codigo php en el cual guardo y hago la consulta...edificio.php

Código PHP :


<?php 
 
$host = "localhost"; 
$username = "ciberce1_flex"; 
$password = "987654321"; 
$db_name = "ciberce1_flex"; 
  
$mysql_connection = mysql_connect($host, $username, $password); 
 
mysql_select_db($db_name); 
 
 
$param_codigo = $_POST["codigo"]; 
 
$param_descripcion = $_POST["descripcion"]; 
 
 
//Insertar Datos en la Tabla  
$text = $param_codigo . $param_descripcion . $param_fecha; 
 
$query = "INSERT INTO edificio(codigo_edificio, descripcion_edificio) VALUES('$param_codigo', '$param_descripcion')"; 
 
  
 
if ( !mysql_query($query, $mysql_connection) ) 
   { 
 
    die('ERROR: '. mysql_error() ); 
 
   } 
else  
{ 
   echo "INSERT SUCCESSFUL, 1 Record Added"; 
 
} 
 
// Consultar Datos 
$Query = "SELECT * from edificio"; 
$Result = mysql_query( $Query ); 
 
$Return = "<users>"; 
 
while ( $User = mysql_fetch_object( $Result ) ) 
{ 
$Return .= "<user> 
<codigo_ed>".$User->codigo_edificio."</codigo_ed> 
<descripcion>".$User->descripcion_edificio."</descripcion> 
<usuario>".$User->usuario_creacion."</usuario> 
<fecha>".$User->fecha_creacion_edificio."</fecha> 
</user>"; 
} 
$Return.= "</users>"; 
 
mysql_free_result($Result); 
print ($Return); 
 
?>
 



les agradesco su ayuda de ante mano.

Por lare

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Feb 2010 09:32 pm
HOla!!! cheko estas observaciones

Primero te falta el metodo en tu httpservice:

<mx:HTTPService id="prueba" url="http://localhost/ejemplo/src/edificio.php"
useProxy="false" resultFormat="e4x" method="POST"/>

el parametro method indica la forma ke enviaras los datos POST O GET a tu PHP

Segundo
ke datos insertaras? necesitas crear un objeto con los datos ke enviaras al PHP para su posterior insercion

//Creas el objeto y luego le añades los datos.

public var objSend:Object = new Object;

private function Complete():void
{

objSend.datoEnviar1 = campodetuformulario1.text; //Seteo valores de los datos de tu formulario a
objSend.datoEnviar2 = campodetuformulario1.text; //los datos del objeto para enviarlos
PopUpManager.centerPopUp(this);
prueba.send(objSend); //Envio el objeto

}

Por jgonzales

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Feb 2010 10:41 pm
ok para que me entiendas mejor el data grid no quiere mostrarme los datos que inserto, tengo dos componetes que los llamo como PopUp desde la ventana principal uno contiene un data grid para visualizar los datos y el otro un formulario para agregar:

Código del PopUp 1 data grid.. edificio.mxml:

Código Flex :

<?xml version="1.0" encoding="utf-8"?> 
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
        width="862" 
        height="588" 
        showCloseButton="true" 
        close="salir();" 
        creationComplete="Complete();"> 
 
<mx:Script> 
   
<![CDATA[  
      import mx.managers.PopUpManager; 
      import mx.controls.Alert; 
       
      private function salir():void 
      { 
         PopUpManager.removePopUp(this); 
      } 
       
      private function Complete():void 
      { 
            PopUpManager.centerPopUp(this); 
            prueba.send(); 
             
        } 
         
      private function agregar():void 
      { 
       var edif:add_edificio=new add_edificio(); 
       PopUpManager.addPopUp(edif, this, true); 
      } 
       
    
]]>
 
</mx:Script> 
 
<mx:HTTPService id="prueba" url="http://localhost/ejemplo/src/edificio.php"  
    useProxy="false" resultFormat="e4x" method="POST"/>  
 
<mx:Canvas width="100%" height="100%"> 
 
<mx:DataGrid id="dataGrid" dataProvider="{prueba.lastResult.users.user}" 
    bottom="10" top="10" right="10" left="117" 
    resizableColumns="true"> 
    
    <mx:columns>  
           <mx:DataGridColumn headerText="INSTITUCION" dataField="codigo_in"/>        
           <mx:DataGridColumn headerText="CODIGO EDIFICIO" dataField="codigo_ed"/>        
         <mx:DataGridColumn headerText="DESCRIPCION" dataField="descripcion"/>  
           <mx:DataGridColumn headerText="USUARIO CREADOR" dataField="usuario"/>        
           <mx:DataGridColumn headerText="FECHA CREACION" dataField="fecha"/>        
 
      </mx:columns>  
    </mx:DataGrid>  
    
     <mx:Button x="10" y="10" label="Agregar"  click="agregar()" width="99" height="40" icon="@Embed(source='../bin-debug/icons/agregar.png')" textAlign="left"/> 
   <mx:Button x="10" y="58" label="Modificar" width="99" height="40" icon="@Embed(source='../bin-debug/icons/editar.png')" textAlign="left"/> 
   <mx:Button x="10" y="106" label="Deshacer" height="40" width="99" icon="@Embed(source='../bin-debug/icons/deshacer.png')" textAlign="left"/> 
   <mx:Button x="10" y="154" label="Imprimir" height="40" width="99" icon="@Embed(source='../bin-debug/icons/imprimir.png')" textAlign="left"/> 
   <mx:Button x="10" y="202" label="Cerrar" height="40" width="99" click="salir()" icon="@Embed(source='../bin-debug/icons/cerrar.png')" textAlign="left"/> 
   <mx:Button x="10" y="250" label="Refrescar" height="40" width="99" click="prueba.send()" icon="@Embed(source='../bin-debug/icons/actualizar.png')" textAlign="left"/> 
  
  </mx:Canvas>        
</mx:TitleWindow> 
 


ahora codigo del PopUp 2 el formulario desde donde inserto a la base de datos cuyo nombre es add_edificio.mxml:

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" 
      width="466"
        height="283"
        showCloseButton="true"
        close="salir();" creationComplete="Complete();" 
        title="Agregar Edificio" x="221" y="154">

<mx:HTTPService id="EnviarDatos" url="http://localhost/ejemplo/src/edificio.php"
    method="POST" resultFormat="text" result="resultHandler(event)"/>
   
      <mx:Script>

            <![CDATA[

                import mx.rpc.events.ResultEvent;
            import mx.managers.PopUpManager;
                import mx.controls.Alert;

               
            private function salir():void
            {
               PopUpManager.removePopUp(this);
            }
      
            private function Complete():void
            
            {
                  PopUpManager..centerPopUp(this);
        
              }
      
            
             /*Resultado del envio mediante HTTPService*/

                public function resultHandler( event:ResultEvent ):void

                {

                    Alert.show("Result " + String( event.result ) );
               
                }


                /*Funcin que valida los datos y los envia al php mediante el HTTP SERVICE*/

                  public function sendData():void

                  {

                var validEntry:Boolean = !(codigo_ed.text == "" || descripcion.text == "");

                     

                      if (validEntry){

                        var objSend:Object = new Object;

                              objSend.codigo_in = codigo_in.text;
                     
                       objSend.codigo_ed = codigo_ed.text;
                     
                              objSend.descripcion = descripcion.text;
                       
                       objSend.usuario = usuario.text;
                       
                       objSend.fecha = fecha.text;   
                       

                              EnviarDatos.send(objSend);                              

                      }

                      else{

                        Alert.show("Complete todos los Campos antes de continuar");
                  
                  }                      
         }

            ]]>

      </mx:Script>

 
<mx:Form width="100%" height="199" id="edificioForm">
   
                  <mx:FormItem label="INSTITUCION:">
                        <mx:TextInput id="codigo_in"/>
                    </mx:FormItem>
                    <mx:FormItem label="CODIGO:">
                        <mx:TextInput id="codigo_ed"/>
                    </mx:FormItem>
                    <mx:FormItem label="DESCRIPCION:">
                        <mx:TextInput id="descripcion"/>
                    </mx:FormItem>
                    <mx:FormItem label="USUARIO:">
                        <mx:TextInput id="usuario"/>
                    </mx:FormItem>
                    <mx:FormItem label="FECHA:">
                        <mx:TextInput id="fecha"/>
                 </mx:FormItem>
                    
</mx:Form>     
     
    <mx:ControlBar horizontalAlign="right">
        <mx:Button id="Guardar" label="Guardar" click="sendData()"   />
      <mx:Button id="Cancelar" label="Cancelar"  click="salir();"/>

    </mx:ControlBar>
   
</mx:TitleWindow>




aqui va el codigo php en el cual guardo y hago la consulta y guardo...edificio.php

Código :

<?php

$host = "localhost";
$username = "ciberce1_flex";
$password = "987654321";
$db_name = "ciberce1_flex";

$mysql_connection = mysql_connect($host, $username, $password);

mysql_select_db($db_name);


$param_codigo = $_POST["codigo"];

$param_descripcion = $_POST["descripcion"];


//Insertar Datos en la Tabla
$text = $param_codigo . $param_descripcion . $param_fecha;

$query = "INSERT INTO edificio(codigo_edificio, descripcion_edificio) VALUES('$param_codigo', '$param_descripcion')";



if ( !mysql_query($query, $mysql_connection) )
{

die('ERROR: '. mysql_error() );

}
else
{
echo "INSERT SUCCESSFUL, 1 Record Added";

}

// Consultar Datos
$Query = "SELECT * from edificio";
$Result = mysql_query( $Query );

$Return = "<users>";

while ( $User = mysql_fetch_object( $Result ) )
{
$Return .= "<user>
<codigo_ed>".$User->codigo_edificio."</codigo_ed>
<descripcion>".$User->descripcion_edificio."</descripcion>
<usuario>".$User->usuario_creacion."</usuario>
<fecha>".$User->fecha_creacion_edificio."</fecha>
</user>";
}
$Return.= "</users>";

mysql_free_result($Result);
print ($Return);

?>

no se por que no me funciona agregue el metodo POST pero aun nada.. si podeis ayudar
gracias de ante mano...

Por lare

46 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.