Comunidad de diseño web y desarrollo en internet online

Problema con DataGrid Flash MX 2004

Citar            
MensajeEscrito el 27 Oct 2005 11:12 pm
Estoy teniendo problemas con el DataGrid. Despues de hacer una consulta a una DB y recuperar los datos, los cargo en el Datagrid, pero hay datos que no se ven, aun cuando esta cargado. Osea, por ejemplo, recupero los datos de clientes, puede que me muestra todos los datos, pero no el DNI de alguno, si cambio el ancho de la columna o lo ordeno, o refresco la pantalla, si muestra, pero puede que a otro cliente no se le muestra la direccion , por ejemplo. No es un problema de ancho de columna.

Agradeceria una ayuda, ya que es urgente.
Gracias, Carlos.

Por karlec

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Oct 2005 03:28 am
:? y que te parece si posteas el código que usas asi podría ayudarte ^^

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox
Citar            
MensajeEscrito el 28 Oct 2005 12:32 pm

Código :

Obj2 = new LoadVars();
datos = new Array();

Obj2.load("load_employee_inf.asp?xx="+ Math.random());
viewEmployee.dataProvider = datos;

mensa.text = datos.price[1];

Obj2.onLoad = function() {   
      emp_idEmployee = Obj2.emp_idEmployee.split("@@@");
      emp_name = Obj2.emp_name.split("@@@");   
      emp_USAddress = Obj2.emp_USAddress.split("@@@");   
      emp_state = Obj2.emp_state.split("@@@");
      emp_city = Obj2.emp_city.split("@@@");
      emp_phoneNumber = Obj2.emp_phoneNumber.split("@@@");
      emp_cellPhone = Obj2.emp_cellPhone.split("@@@");
      emp_active = Obj2.emp_active.split("@@@");
      emp_inmigrationStatus = Obj2.emp_inmigrationStatus.split("@@@");
      for (var i = 0; i<emp_name.length-1; i++) {
         datos.addItem({ID:emp_idEmployee[i],Name:emp_name[i], Active:emp_active[i], InmigrationStatus:emp_inmigrationStatus[i]});   
      }
}


....
todas las acciones de los botones que existen
....

[moderador]Agregada etiquetas code[/moderador]

Por karlec

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Oct 2005 02:56 pm
aqui
Obj2.emp_idEmployee.split("@@@");

usa this en vez Obj2, algo asi
this.emp_idEmployee.split("@@@");

igual que en lo demas.

aunque si puedes cambiar la forma que le mandas la respuesta a flash desde asp, por una que a mi me parece mas comoda y facil de trabajar, fijate cuando imprimas la cadena(las variables) que le mandas a flash hazlo de la siguiente manera:
&+"identificador"+numeroidentificador+"="+valordevariable, y vas uniendo todas las variables por ponerte un ejemplo una cadena de este tipo que imprimirias para darle respuesta a flash con tu ejemplo seria algo asi:

Código :

&id0=unidempleado&nombre0=nombreempleado&direccion0=direccionx&id1=unidempleado&nombre1=nombreempleado1&direccion1=direccionx&


fijate en el ultimo & debes ponerlo te evitara dolores de cabeza :wink:


y en tu flash lo recibirias asi:

Código :

Obj2.onLoad = function (exito){
    if (exito){
               for (i=0; this["id"+i]!=undefined;i++){
                    datos.addItem({id:this["id"+i],nombre:this["nombre"+i],direccion:this["direccion"+i]});
               }
    } else{
          trace("corrige la url o el script externo");
     }

}


saludos

PD: selecciona el primer codigo, veras que el codigo sigue, aunque no se ve el scroll :roll: :roll:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab



Ultima edición por Maikel el 28 Oct 2005 03:10 pm, editado 1 vez

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Oct 2005 03:18 pm
Gracias por contestar Maikel, me gusto la forma de pasar paramertros desde asp.

ahora, this.emp_idEmployee.split("@@@"); cambiando Obj2 por this (que es mejor y voy a implementarlo) puede solucionar mi problema? ya que el problema en si, es que no muestra algunos datos en la grilla,y si se reordena la grilla (si no me equivoco, no se hace una nueva consulta a asp, sino se ordena los datos ya cargados del datagrid) puede llegar a aparecer ese dato que se muestra y desaparecer otro.

Tambien pasa que, en una columna Name por ejemplo contiene un nombre: Jose. El ancho de la columna es mucho mayor que el nombre, pero si la agrando con el mouse, se muestra el dato.

Gracias por la ayuda

Por karlec

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Oct 2005 03:57 pm
se a lo que te refieres a lo reordenar el datagrid, y tambien me ha pasado y no se por qué C#~€ lo hace :roll:


bueno intenta solo poniendo this en vez de Obj2 a ver si te sirve, sino hazlo de la otra forma, creo es que más facil no te parece? sin hacer split ni nada.

Consejo: siempre dentro de los eventos de los objetos (ya sea un objeto LoadVars, MovieClip, etc.) usa this en vez del nombre del objeto.

ejemplos.

Código :


miMovieClip.onRelease = function (){
     trace(this._x);
}
var miLV:LoadVars = new LoadVars();
miLV.load("algo.php");
miLV.onLoad = function (exito:Boolean){
    if (exito){
              trace(this.toString();)
    } else{
           trace("error");
     }
}


son solo ejemplos, ve que dentro de los eventos (funciones como lo entiendas mejor) no uso el nombre del objeto (ni miMovieClip, ni miLV), sino uso this, te evitará muchos dolores de cabeza en serio :wink:

saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Oct 2005 04:27 pm
Gracias.

Un abrazo.

Por karlec

10 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Oct 2005 05:01 pm
Que onda:
Por que no generas un XML desde asp, solo una sugerencia :P

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

msie
Citar            
MensajeEscrito el 29 Oct 2005 09:13 pm
no es el problema pasarlo desde la DB a flash por medio de asp, sino que una vez cargado los datos en el Datagrid, no muestra todos los datos, estan los valores pero no lo muestra.

Gracias igual por la sugerencia.

Por karlec

10 de clabLevel



 

msie

 

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