Comunidad de diseño web y desarrollo en internet online

Datagrid: Mostrar datos...

Citar            
MensajeEscrito el 15 Nov 2007 05:23 pm
Hola!

Tengo un data grid en el que muestro los datos de BBDD. Todo va "casi" bien. La grilla:

Código :

....................
         <mx:DataGridColumn headerText="ID" dataField="id" />
         <mx:DataGridColumn headerText="Nombre"  dataField="nombre" labelFunction="dataGridLabelFunction"/>
......................


la funcion que aparece es:

Código :

              public function dataGridLabelFunction(item:Object, column:DataGridColumn):String{
        //Devuelve lo mismo, pero aplicando un unescape
        return unescape(item[column.dataField].toString());
    }
          



El caso es que aprecen nombres como "RAM?ON" en lugar de "RAMÓN" :crap:

Otra cosilla, Se pueden mostrar dos campos en la misma columna, con la propiedad "DataField"? Por ejemplo, el nombre y los apellidos. Saludos y gracias !!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Nov 2007 05:48 pm
Los datos los muestra así, por que así llegan, creo que mas bien debes resolverlo en el lado del servidor.

Para poner dos campos en una celda usa el labelFunction.

Código :

 return item[column.Nombre] + return item[column.Apellido];


saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 15 Nov 2007 06:53 pm
Hola Dano! Antes de nada muchas gracias por responder. Supongo que tendré que arreglar la base de datos, para mostrar los datos correctamente. En cuanto a lo de mostrar 2 campos en una columna, no entiendo lo de poner dos "returns" seguidos en una funcion...

Saludso y gracias de nuevo!!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Nov 2007 07:08 pm
para lo de los acentos, ñ's y demás cosas, cuando mando los datos de flex a PHP uso la función de php utf8_decode():

Código :

$variable = utf8_decode($_POST['variable']);

para devolverlos de la base a Flex, uso en PHP la funcion utf8_encode(), esto depende de que tipo de respuesta le mandes a Flex XML o URLVariables.

espero te sirva! ;)

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 15 Nov 2007 07:14 pm

Código :

 return item[column.Nombre] + item[column.Apellido];


Prometeo2006, el doble return fue un error de copy/paste, basicamente lo que te digo, es que puedes hacer un return de varias propiedades de item, que es el objeto actual del row.

Saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 15 Nov 2007 09:20 pm
Hola de nuevo! Muchas gracias por vuestra ayuda. Lo de los caracteres sigo sin resolverlo, pues la consulta que hago, no mando ninguna variable, ya que muestro todos los datos de la tabla:

Código :

mysql_select_db("globalfinanzas",$conexion);
$sql="SELECT * FROM clientes ORDER BY id DESC";
$consulta = mysql_query($sql,$conexion) or die(mysql_error());
mysql_close($conexion);

return $consulta;


con las funciones encode y decode, no me devuelve nada, es decir, utf8_decode($consulta) y Alguna sugerencia? Por cierto, uso "remoteObject" (WebOrb) para conectarme a la BBDD.

En cuanto a lo de mostar varios campos en una columna, me da error: "Access to undefined property colum"

Muchas gracias!!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Nov 2007 09:30 pm

Código :

return item["Nombre"] + item["Apellido"];


Lo del label function, con eso se resuelve. :P



Tu problema de la consulta, fijate que la tabla tenga el siguiente collation:
utf8_unicode_ci


saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 15 Nov 2007 10:16 pm

Prometeo2006 escribió:

Hola de nuevo! Muchas gracias por vuestra ayuda. Lo de los caracteres sigo sin resolverlo, pues la consulta que hago, no mando ninguna variable, ya que muestro todos los datos de la tabla:

Código :

mysql_select_db("globalfinanzas",$conexion);
$sql="SELECT * FROM clientes ORDER BY id DESC";
$consulta = mysql_query($sql,$conexion) or die(mysql_error());
mysql_close($conexion);

return $consulta;


con las funciones encode y decode, no me devuelve nada, es decir, utf8_decode($consulta) y Alguna sugerencia? Por cierto, uso "remoteObject" (WebOrb) para conectarme a la BBDD.

En cuanto a lo de mostar varios campos en una columna, me da error: "Access to undefined property colum"

Muchas gracias!!


ah! que usas weborb!!, perdon omiti ese detalle, es que yo no lo uso :lol:

Sorry canijo! :P

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 16 Nov 2007 08:15 am
Hola otra vez! Lo de la tabla, no estaba en cotejamiento "utf8_unicode_ci " aunque lo he cambiado y sigue igual, supongo que tendré que volver a insertar de nuevo los datos... :crap:

En cuanto a lo de mostrar dos campos en la misma columna he probado tu indicacion y el error es el mismo.

Saludos y mil gracias de nuevo!!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Nov 2007 03:02 pm
Prometeo2006, el error no puede ser el mismo, tu dices que sale este error:
En cuanto a lo de mostar varios campos en una columna, me da error: "Access to undefined property colum"

Y si, era normal que saliera, pero en el último código que te dí, no puse column, por eso no puede ser el mismo error :P

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 16 Nov 2007 05:37 pm
Hola Dano! Antes de nada, muchas gracias por tu ayuda y tu paciencia. Efectivamente, el error no es el mismo, pero sigue existiendo: "Access of undefined property item". Estas son las columnas:

Código :

<mx:DataGridColumn headerText="Nombre" id="nombre"  dataField="nombre" labelFunction="campos()"  />
<mx:DataGridColumn headerText="Apellidos" id="apellidos"  dataField="apellido1" />

Y la funcion "campos()":

Código :

       public function campos(){
          return item["nombre"]+item["apellidos"];
       }


Se te ocurre algo? Saludos y gracias de nuevo!!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Nov 2007 06:42 pm
Prometeo el error es que los labelFunction generalmente los pasas como referencia(sin el paréntesis) y la función recibe los argumente del item. Tal como lo tenías en el otro labelFunction que usabas.

Así debe de hacerse:

Código :

<mx:DataGridColumn headerText="Nombre" id="nombre"  dataField="nombre" labelFunction="campos"  />


Código :

  public function campos(item:Object, column:DataGridColumn):String{
        return item["nombre"]+item["apellidos"];

    }



Saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 18 Nov 2007 05:45 pm
Hola Dano! Exacto!! Ahora sí que va de perlas!!!! Mil gracias!!

Por Prometeo2006

122 de clabLevel



 

firefox

 

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