Comunidad de diseño web y desarrollo en internet online

saber número de filas en datagrid

Citar            
MensajeEscrito el 23 Abr 2009 10:00 pm
Hola, he estado buscando la forma de saber cuantas filas están cargadas en un datagrid pero solo he visto el rowCount que es la cantidad de filas visibles.
He intentado buscar la forma de sacar el length del dataprovider pero tampoco he tenido suerte pues la info la saco de un httpservice que devuelve un xml.
La pregunta entonces es: de donde saco la información? del dataprovider o del datagrid y como?

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 23 Abr 2009 10:37 pm
hola

lo sacas del dataProvider del datagrid.


SAludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2009 11:21 pm
si cargas una array saca el dataprovider y luego esta la funcion para leer la cantidad de elementos que tiene el array
por ejemplo:
una asigancion:
myDP = new Array();
list.dataProvider = myDP
var cantidad=myDP.length
pero ojo estoy haciendo una asignacion ,tendras que hacerlo a la inversa. est todo cambio y fuera

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2009 04:51 am

alfathenus escribió:

hola

lo sacas del dataProvider del datagrid.


SAludos!


ok, como?

xcom escribió:

si cargas una array saca el dataprovider y luego esta la funcion para leer la cantidad de elementos que tiene el array
por ejemplo:
una asigancion:
myDP = new Array();
list.dataProvider = myDP
var cantidad=myDP.length
pero ojo estoy haciendo una asignacion ,tendras que hacerlo a la inversa. est todo cambio y fuera


Hacerlo con un array es muy fácil, pero no es mi caso, como expliqué, es un xml que proviene de un httpservice, para convertirlo en array tendría que darle una vuelta tan larga que preferiría hacer un segundo llamado al httpservice para pedir la cantidad por php.

Alguna idea de como hacerlo en mi caso, que se aplique a lo que estoy haciendo y sin necesidad de pasar todo el xml a un array o arraycollection?
Gracias.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 24 Abr 2009 06:43 am
esta funcion retorna la cantidad de nodos ,espero que te sirva

Código :

function Cantidad_Nodos(){
   $XML = simplexml_load_file('archivo.xml');   

   foreach($XML as $Nodos) {
      $Cantidad += 1;
   }
   
   return $Cantidad; 
}

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2009 03:15 pm
Creo que tal vez mi explicación fué un poco ambigua, no tengo problemas para adquirir el dato por php, sino en flex.
Cuando desde flex hago llamado a un php via httpservice, el php me devuelve un xml estructurado como:

Código :

<nodos>
      <nodo label="nombre" datos="dato"/>
</nodos>

Pero debido a esa estructura del xml, no puedo enviar el número total de resultados porque me tocaría enviar un dato adicional en cada uno y leer el último en flex, pero eso desencadenaría en aumentar el tamaño del xml innecesariamente por lo cual desearía poder saber cuantas filas se cargaron en el datagrid, o cuantos índices tiene el xml recibido por flex, algo que en teoría es simple pero al parecer no es una funcionalidad en la que hayan pensado los desarrolladores de adobe.
en php es tan simple como hacer un mysql_num_rows al resultado del "SELECT" que saca los datos de la base de datos, pero pensé que habría una forma más eficiente de obtener esa información sin necesidad de llamar otro httpservice solo para pedir un dato tan pequeño o usar algo tan grande y aparatoso como weborb únicamente porque necesito un pequeño integer que no supera las 3 cifras.

En todo caso gracias, esperaré que flex 4 (gumbo) traiga mejoras sutiles como esa.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 24 Abr 2009 04:39 pm

http://www.theruntime.com/blogs/be-sharp/archive/2008/02/26/Web-Services-and-ArrayCollections-in-Adobe-FLEX-2-How-to-Successfully-Read-Any-Number-of-XML-Nodes.aspx escribió:

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2009 04:57 pm
ength () method
AS3 function length():int

For XML objects, this method always returns the integer 1. The length() method of the XMLList class returns a value of 1 for an XMLList object that contains only one value.

Returns
int — Always returns 1 for any XML object.

See also
XML objects


con eso ya mas que suficiente genera el algoritmo y lo tendras ni eso ya que por ejemplo
<xml>
<nodo..
<nodo..
</xm>
aplicando esa funcion devolveria 2.

cambio y fuera estodo

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2009 05:10 pm
Vaya, no tenía conocimiento de lo que hacía flex por debajo de cuerda con los resultados, muy educativo el link, muchas gracias.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 24 Abr 2009 08:25 pm
mestra como te quedo el codigo final y supongo que ya podiste sacarlo
muestra el codigo vale :) :cool: :lol:

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 May 2009 10:23 pm
Al fin no lo hice así, estoy utilizando json para llamar los datos, por lo que no se aplica ya lo del xmllist, de por si que tampoco estaba utilizando xmllist.
para no complicarme, hice un segundo llamado al php, obteniendo como resultado el valor que devuelve mysql_num_rows().
Pero gracias por el esfuerzo.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox
Citar            
MensajeEscrito el 08 May 2009 04:45 am
Hola, solo quería agregar que gracias a que JSON usa arrays, simplemente saqué el valor del length del array que hace de dataprovider del datagrid, simple y efectivo, JSON cada día me gusta más. Problema resuelto de forma efectiva.

Por Xyrer

628 de clabLevel

1 tutorial

Genero:Masculino  

Android App Development

firefox

 

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