Comunidad de diseño web y desarrollo en internet online

Llenar datagrid despe php

Citar            
MensajeEscrito el 22 May 2009 07:56 pm
Hola a todos,,,

Estoy empezando con flex y estoy siguiendo algunos tutoriales para cargar datos desde php a un datagrid en flex,,, solo que no consigo :twisted: que los datos se muestren dentro del grid, sin embargo los datos si estan llegando correctamente pues los puse en un alert y se ven solo que no se muestran en el grid,,

a continuacion coloco el codigo flex que estoy usando

Código :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" layout="absolute" backgroundGradientColors="[0xFFFFFF, 0xAAAAAA]"
    horizontalAlign="left"
    verticalGap="15"
    horizontalGap="15">
    <mx:Script>
       <![CDATA[
          import mx.rpc.events.ResultEvent;
      import mx.rpc.events.FaultEvent;
      import mx.controls.Alert;
          
          private var pautasInactivas:XMLList;
          private var pautasActivas:XMLList;
          
          public function init():void{
             searchActiveRPC.send();
             searchInactiveRPC.send();
          }          
          public function handleSearchActiveOk(event:ResultEvent):void
                {
                       //Alert.show(event.result.toString(),"Error");
                       pautasActivas = event.result.pautas.pauta as XMLList;
                }
                public function handleSearchActiveFault(event:FaultEvent):void
           {
              Alert.show(event.fault.faultString, "Error");
           }
           public function handleSearchInactiveOk(event:ResultEvent):void
                {
                pautasInactivas = event.result.pautas.pauta as XMLList;
                }
                public function handleSearchInactiveFault(event:FaultEvent):void
           {
              Alert.show(event.fault.faultString, "Error");
           }          
       ]]>
    </mx:Script>
<mx:TabNavigator width="960" height="500" id="bigcontainer" selectedIndex="0" horizontalCenter="0" top="0">   
   <mx:Canvas label="Pautas Activas" width="100%" height="100%">      
      <mx:DataGrid id="gridActivas" dataProvider="{pautasActivas}" x="10" y="21" width="200" height="436" editable="false" enabled="true">      
         <mx:columns>      
            <mx:DataGridColumn headerText="Id" width="30" dataField="id"/>                  
            <mx:DataGridColumn headerText="Nombre" dataField="nombre"/>               
         </mx:columns>      
      </mx:DataGrid>      
      <mx:TabNavigator x="218" y="2" width="731" height="456">      
         <mx:Canvas label="Estadísticas" width="100%" height="100%">
            <mx:Panel x="0" y="0" width="729" height="422" layout="absolute">
            </mx:Panel>      
         </mx:Canvas>      
         <mx:Canvas label="Comentarios" width="100%" height="100%">
         </mx:Canvas>      
      </mx:TabNavigator>      
      <mx:TextInput x="10" y="0" width="159" id="searchActive" />      
      <mx:Button x="168" y="0" label="Ir" width="42" click="searchInactiveRPC.send();" />   
   </mx:Canvas>   
   <mx:Canvas label="Pautas Inactivas" width="100%" height="100%">      
      <mx:DataGrid id="gridInactivas" dataProvider="{pautasInactivas}" x="10" y="21" width="200" height="436" editable="false" enabled="true">      
         <mx:columns>      
            <mx:DataGridColumn headerText="Id" width="30" dataField="id"/>      
            <mx:DataGridColumn headerText="Nombre" dataField="nombre"/>      
         </mx:columns>      
      </mx:DataGrid>      
      <mx:TabNavigator x="218" y="2" width="731" height="456">      
         <mx:Canvas label="Estadísticas" width="100%" height="100%">         
            <mx:Panel x="0" y="0" width="729" height="422" layout="absolute">
            </mx:Panel>      
         </mx:Canvas>      
         <mx:Canvas label="Comentarios" width="100%" height="100%">
         </mx:Canvas>      
      </mx:TabNavigator>      
      <mx:TextInput x="10" y="0" width="159" id="searchInactive" />      
      <mx:Button x="168" y="0" label="Ir" width="42" click="searchActiveRPC.send();" />   
   </mx:Canvas>   
</mx:TabNavigator>
<mx:HTTPService result="handleSearchActiveOk(event);" fault="handleSearchActiveFault(event);" id="searchActiveRPC" 
       url="http://69.79.57.184:8080/labs/flex/web/search.php"
       useProxy="false" >
       <mx:request xmlns="">
          <typeSearch>1</typeSearch>
          <searchText>{searchActive.text}</searchText>           
       </mx:request>
</mx:HTTPService>

<mx:HTTPService result="handleSearchInactiveOk(event);" fault="handleSearchInactiveFault(event);" id="searchInactiveRPC" resultFormat="e4x"
       url="http://69.79.57.184:8080/labs/flex/web/search.php"
       useProxy="false" method="POST" >
       <mx:request xmlns="">
          <typeSearch>2</typeSearch>           
          <searchText>{searchInactive.text}</searchText>
       </mx:request>
</mx:HTTPService>

</mx:Application>


y el codigo php

Código :

<?

$server = "localhost";
$username = "root";
$password = "";
$database = "idcg_2debutdb";


$r_string = "<pautas>";
if (!mysql_connect($server, $username, $password)) {

} elseif (!mysql_select_db($database)) {

} else {
   $qr = mysql_query("SELECT idcommercial,name from commercial");
   if (!$qr || mysql_num_rows($qr)==0) {

   } else {

      while ($row = mysql_fetch_row ($qr)) {
        $r_string .= "<pauta>";
        $r_string .= "<id>$row[0]</id>";
        $r_string .= "<nombre>$row[1]</nombre>";
        $r_string .= "</pauta>";
      }
      $r_string .= "</pautas>";
   }
}
print $r_string;
?>


Que estaré haciendo mal ,,,

me estoy basando en el tutorial del flex builder


Agradezco su colaboración

Por jdgutierrezj

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 May 2009 04:04 am
prueba colocar las variables de los result como publicas y luego al datagrid los campos dale formato de 30 para ambas columnas

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2009 05:08 pm
Hola, estuve leyendo tu codigo... y veo que le faltan los tags [Bindable] a tus variables para que puedan ser accedidas desde tus componentes datagrid.

Código :

[Bindable] private var pautasInactivas:XMLList;
[Bindable] private var pautasActivas:XMLList;

Prueba con esto, espero que te sirva de ayuda.

Por iNfzt

6 de clabLevel



 

chrome

 

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