Comunidad de diseño web y desarrollo en internet online

exportando datagrid a csv

Citar            
MensajeEscrito el 21 Oct 2011 02:08 am
Hola hola tengo algunos problemitas exportando un datagrid a CSV el datagrid se llena con la informacion correctamente entonces lo que hago es un boton que manda llamar la funcion exportar! y la funcion exportar tiene 2 for's donde uno si exporta correctamente los datos al csv pero el otro me lo exporta com unsigned

Código ActionScript :

private function exportar():void {
            if(compromisosResult.lastResult.length==0) {
               Alert.show("No hay resultados a exportar");
               return;
            }
            var compromisos:ArrayCollection = ArrayCollection(compromisosResult.lastResult);
            var fileReference:FileReference = new FileReference();
            fileReference.addEventListener(Event.COMPLETE, function(event:Event):void {
               Alert.show("Archivo guardado");
               CursorManager.removeAllCursors();
            });
            fileReference.addEventListener(Event.CANCEL, function(event:Event):void {
               CursorManager.removeAllCursors();
            });
            var texto:String = "Fecha,Proveedor,Sucursal,Nombre,HE1 Comp,HS1 Comp,HE2 Comp,HS2 Comp,HE1 Cump,HS1 Cump,HE2 Cump,HS2 Cump," +
               "Horas Compromiso,Horas Cumplidas,Efectividad";
            for(var i:int=0; i<compromisos.length; i++) {
               texto += "\n" + compromisos[i].Fecha;
               texto += "," + compromisos[i].Proveedor;
               texto += ",,,,,,,,,," + compromisos[i].HorasCo;
               texto += "," + compromisos[i].HorasCu;
               texto += "," + compromisos[i].Efectividad;
               for each(var item:Object in compromisos[i].children) {
                  texto += "\n,," + compromisos[i].HoraEntrada1Co;
                  texto += "," + compromisos[i].HoraSalida1Co;
                  texto += "," + compromisos[i].HoraEntrada2Co;
                  texto += "," + compromisos[i].HoraSalida2Co;
                  texto += "," + compromisos[i].HoraEntrada1Cu;
                  texto += "," + compromisos[i].HoraSalida1Cu;
                  texto += "," + compromisos[i].HoraEntrada2Cu;
                  texto += "," + compromisos[i].HoraSalida2Cu;
                  texto += "," + compromisos[i].HorasCo;
                  texto += "," + compromisos[i].HorasCu;
                  texto += "," + compromisos[i].Efectividad;
               }
            }
            fileReference.save(texto, "CompromisosCumplidosNivelPromotor.csv");
            CursorManager.setBusyCursor();
         }


esa es la funcion exportar pero no logra devolverme de forma correcta todos los valores, yo se que ya ay librerias para esto pero no tengo tiempo para usar una clase o libreria necesito arreglar esto yaaaa!!

por favor echenme la mano en esto.

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2011 02:12 pm
¿Que dato exporta mal? ¿Unsigned? ¿A que te refieres, algún int por ahí?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2011 03:42 pm
de antemano mil gracias jorge por tomarte la molestia de contestar la verdad es que ando pero liado con esto ya lo necesitan en el trabajo y todavia no puedo con el :S

lo que no exporta es lo del segundo for osea esto

for each(var item:Object in compromisos[i].children) {
texto += "\n,," + compromisos[i].HoraEntrada1Co;
texto += "," + compromisos[i].HoraSalida1Co;
texto += "," + compromisos[i].HoraEntrada2Co;
texto += "," + compromisos[i].HoraSalida2Co;
texto += "," + compromisos[i].HoraEntrada1Cu;
texto += "," + compromisos[i].HoraSalida1Cu;
texto += "," + compromisos[i].HoraEntrada2Cu;
texto += "," + compromisos[i].HoraSalida2Cu;
texto += "," + compromisos[i].HorasCo;
texto += "," + compromisos[i].HorasCu;
texto += "," + compromisos[i].Efectividad;
}

al momento de exportarlo lo marca como tu dijiste UNSIGNED! tendras idea de que pasa??? gracias.

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2011 04:05 pm
a perdon, a unsigned me refiero que dentro del csv me escribe "UNSIGNED" donde deven de ir cada uno de esos valores en vez de escribir el resultado de Horas de entrada, Horasdesalida1 etc. etc. me escribe

unsigned, unsigned, unsigned, unsigned

espero averme explicado, gracias.

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2011 06:11 pm
Esta expresi{on no tiene mucho sentido:

for each(var item:Object in compromisos[i].children)

No estás recorriendo un XML, sino un ArrayCollection, recuperas cada file con getItemAt, entonces debería ser

Código ActionScript :

 for(var i:int=0; i<compromisos.length; i++) { 
             var item:Object  = compromisos.getItemAt(i)
               texto += "\n" + item.Fecha; 
               texto += "," + item.Proveedor; 


Y luego debería ser plano, no entiendo como muestras arrays internos, es decir directamente

item.HoraEntrada1Co

A menos que hayas armado alguna estructura que no se muestra

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2011 09:11 pm
ahorita no e podido checarlo ya que ando en una disque junta! ajajajj pero si no se pudiera recibir la informacion del datagrid nada mas que con getItemAt entonces no tendria que poder exportar nada de nada.... pero sin embargo si exporta (solo lo primero) lo qur va en

Código ActionScript :

for(var i:int=0; i<compromisos.length; i++) { 
               texto += "\n" + compromisos[i].Fecha; 
               texto += "," + compromisos[i].Proveedor; 
               texto += ",,,,,,,,,," + compromisos[i].HorasCo; 
               texto += "," + compromisos[i].HorasCu; 
               texto += "," + compromisos[i].Efectividad; 


pero el otro for lo sige sin poder exportar, si me explique??? de ya muchas gracias jorge eres de los pocos que echan la mano aca :)

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Oct 2011 09:25 pm
Un ArrayCollection como su nombre lo indica, es un contenedor de arrays, de allí que puedas accederlo por índice, pero el uso de la interfaz que te ofrece la clase justamente sirve para estructurar mejor el lookup y no hacer un parsing tan manual. En caso de usar VO o algún otro tipo de comunicación/storage mas estructurado, el tipo de acceso que tienes hace el código inmantenible. Anyway, el segundo loop itera sobre una propiedad que tiene mas pinta de XML que de ArryCollection, asegúrate que existe

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Oct 2011 10:35 pm
aver explicamelo con manzanitas porfa ajjaajjaja nque as de cuenta que este proyecto se lo contrataron a proveedor y el proveedor no lo termino entonces me contrataron para terminarlo pero como programador php el otro dearrollador metio mucho AS,FLEX etc. etc. que yo de verdad casi no se :S

entonces me gustaria saber que es lo que tengo que hacer, que es lo que tengo que checar para ver si en verdad es error del ArrayCollection...

sincermente Jorge te lo agradesco y bastante no tienes una idea que tan liado estoy y mas con la presion de mis 2 meses de prueba en esta empresa.... mil gracias.

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2011 11:48 am
¿Que es esto?

for each(var item:Object in compromisos[i].children)

¿Que es children? Lo que digo es que para llenar un datagrid tiene que ser un ArrayCollection plano, un solo loop con getItemAt sacando todas las propiedades

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Oct 2011 12:29 am
perdon jorge es que no habia tenido tiempo de volver a entrar, lastimosamente no e podido checar si funciona tal y como me lo estas pidiendo pero mira lo de children creo que lo realizo por en un principio se llena un datagrid con esa informacion despues se selecciona lo que se quiere exportar a formato scv que alli es donde utiliza children...

no se si te haga mas facil que pege todo el codigo...

fue realizado en flashbuilder4 mete flex, as y php (y obviamente mysql)

Por espher

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Oct 2011 02:22 pm
Jorge eres un master!

mil gracias por fin testie lo que me diste y todo bien, todo funciono a la perfeccion mil gracias!!

Por espher

6 de clabLevel



 

firefox

 

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