Comunidad de diseño web y desarrollo en internet online

Obtener un dato de un DataGrid luego que ha sido clasificado

Citar            
MensajeEscrito el 19 Nov 2012 05:35 pm
Buenos dias,

Tengo una duda.
Tengo un DataGrid el cual toma sus datos de vectores.
La primera columna de este DataGrid es Código, las otras son: Producto y Color.
Lo que necesito hacer es que cuando el usuario seleccione un registro se muestre en un campo de texto dinamico (prueba_txt) el codigo del producto que seleccionó.
Esto lo he logrado con el siguiente código:

alSeleccionar.cellPress = function(eventObject)
{
prueba_txt.text = codigo[eventObject.target.selectedIndex];
}

productos_grid.addEventListener("cellPress", alSeleccionar)

Sin embargo tengo un problema.
Cuando el usuario ordena la data basado en alguna columna en particular (es decir, mi DataGrid tiene productos_grid.sortableColumns = true), ya no funciona el código de arriba dado que el orden que se muestran los datos ya no es el mismo que el orden en que están grabados en el vector.

Quisiera saber como puedo solucionar esto.

Muchas gracias.

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 19 Nov 2012 06:06 pm
Puedes hacer

Código ActionScript :

var item:Object = productos_grid.getItemAt(eventObject.itemIndex)
trace(item.codigo)  


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Nov 2012 06:15 pm
Jorge,

Gracias por la ayuda, pero eso es para as2 o as3?

Yo estoy usando as2 y creo que la solución que me brindaste es para as3.

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 20 Nov 2012 09:55 am
AS2, en AS3 los getter son implícitos y lamayoría de los get y set pasan por 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 20 Nov 2012 02:25 pm
Jorge,

Gracias por la aclaración.
Te comento que aún no puedo solucionar mi problema.
Cambié mi código de esta manera:

Código ActionScript :

alSeleccionar = new Object();
alSeleccionar.cellPress = function(eventObject)
{
        var item:Object = productos_grid.getItemAt(eventObject.itemIndex)
   prueba_txt.text = item.codigo;
}
productos_grid.addEventListener("cellPress", alSeleccionar)


Sin embargo el valor que me devuelve es: undefined

Que estoy haciendo mal??

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 20 Nov 2012 02:35 pm
Ok, ahora pon esto

Código ActionScript :

 var item:Object = productos_grid.getItemAt(eventObject.itemIndex)
for(var i:* in item) trace(i+":"+item[i])


Mira que en el panel de salida deberian salir todas las propiedades del objeto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2012 03:19 pm
Jorge,

Me sale el siguiente error:

" Después de ':' se espera un identificador de tipo "

Hace referencia al for.

Gracias

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 20 Nov 2012 03:37 pm
Estamos en AS2, no hace falta tipo, son los vicios de estar usando AS3 desde hace 6 años :)

for(var i in item)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2012 03:45 pm
Jorge!!!

Resultó !!! ahora en el trace me salen todos los datos del registro seleccionado!!!
Mil gracias!!!

Una última preguntita, ya sale de este tema, pero me ayudaría a completar mi DataGrid a la perfección, sabes como hacer que una columna se ponga invisible? Es decir, quiero tener mi DataGrid con Productos y Color y en caso el usuario desee, se muestre la columna código. Me gustaría poder hacer la columna codigo visible e invisible.

Muchas gracias

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 20 Nov 2012 03:52 pm
Tienes que poner el ancho de la columna a cero (no tienes propiedad visible), para eso usas el método miGrid.getColumAt(index).width = 0

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2012 03:56 pm
No se me habia ocurrido esa salida...
Me parece muy ingeniosa!
Muchas gracias!

Estoy tratando de cambiar el codigo que me enviaste para que me muestre solo el codigo y todo el registro... sin embargo aun lo logro.

Si coloco trace(i+":"+item.codigo[i]), no funciona ....

Como deberia ser??

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 20 Nov 2012 04:13 pm
Mira las propiedades que lista, por ejemplo hay una que se llamara Codigo o algo parecido, entonces pones

campoTexto.text = item.Codigo

O lo que sea que te saca el trace

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Nov 2012 04:28 pm
Excelente!!

Jorge, funcionó de mil maravillas...

Te agradezco toda la ayuda!! Muchas gracias!!

Por chochito_alegre

51 de clabLevel



Genero:Masculino  

Lima - Perú

firefox

 

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