Comunidad de diseño web y desarrollo en internet online

Itemrenderer checkbox y evento

Citar            
MensajeEscrito el 27 Abr 2012 06:16 pm
Hola, tengo un datagrid flex 3, con una columna asi:
<mx:DataGridColumn headerText="Check" dataField="checkBoxValue" itemRenderer="mx.controls.CheckBox"/>

La pregunta es: Cómo detecto si el usuario hace click sobre el checkbox?
En la lista de eventos, no aparece ninguno

Gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Abr 2012 10:44 am

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Abr 2012 04:34 pm
Gracias Jorge, solucionado! :D :D

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 02:04 pm
el problema ahora es como detectar si el usuario lo "marcó" o lo "desmarcó", para luego llevarlo a una tabla mysql y grabarlo.

el id del check como renderer no lo toma en la función outerDocument.mifuncion(event)

Agradeceré la ayuda que me puedan brindar!

Muchas gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 02:06 pm
No entiendo muy bien, pero usualmente tomas fila/columna del event y luego de allí pillas todos los datos del dataProvider

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 May 2012 02:12 pm
Gracias Jorge, lo que tengo como columna del datagrid es:
<mx:CheckBox textAlign="center" verticalCenter="0" width="100" click="outerDocument.mifuncion(event)"/>

Luego, la función es:
public function mifuncion(evt:MouseEvent):void
{
Alert.show("Funciona");
}

Entonces, como sé en la función que el usuario marcó o desmarcó el checkbox? Qué evento? target o current no me entregan propiedades

Gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 02:19 pm
¿Ni target ni currentTarget te dan nada? ¿Seguro?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 May 2012 02:24 pm
seguro. solo me dan valueOf() toString() y otras como constructor o hasOwnProperty

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 03:45 pm
Mira si pasando literal puedes ver si est{a seleccionado

{outerDocument.mifuncion(this.selected)}

Sino deberás hacer un componente personalizado para el itemRenderer (básicamente un wrapper de checkbox) con la lógica que necesites para procesar el evento antes de pasarlo fuera

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 May 2012 03:49 pm
Jorge, ya funciona, pasé this.selected (pasa booleano), luego lo tomo en la función y ya sé si seleccionó o des-seleccionó, porque pasa true o false.

Gracias!!!!!!!!!!!!! :D

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 04:19 pm
Una última pregunta, cómo puedo obtener en la función otra celda de la misma fila?

Si paso booleano, me queda afuera por ejemplo el documento de la persona, que es la columna 1 del datagrid, en esa fila. Gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 04:21 pm
Mira si puedes agregar un listener al evento cellPress (al datagrid), ese evento te dice fila y columna, luego lo debes combinar con el otro, ya que indefectiblemente uno precede al otro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 May 2012 04:28 pm
Gracias, ya lo pruebo!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 05:32 pm
Estoy tratando de combinar.
Cuando hago click sobre el checkbox,

1) obtengo por una function mifuncion el valor true o false del checkbox. Perfecto.

2) obtengo (EN OTRA FUNCTION) el contenido de la fila/columna deseada mediante un ListEvent (itemclick). Perfecto.

El problema es que como ahora debo hacer un HTTP, no sé en qué function mandarlo con send() ya que no sé si han terminado las dos.

La pregunta entonces es: Cómo sé que tengo ya los dos datos obtenidos, de manera de hacer el HTTP en la function del checkbox? Y si no terminó la otra function?

(Puedo en una function poner dos tipos de argumentos, boolean y Listevent? )

Como sería?

Muchas gracias

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 May 2012 05:39 pm
En realidad para poder hacer click en un checkbox en una celda, disparas el cellPress también. Pon un trace en ambas funciones apra ver el orden en que se ejecutan, si el cellpress siempre viene primero (como asumo) entonces en checkbox ya tienes la info que necesitas, si no es en ese orden habrá que buscar otro camino

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 May 2012 05:55 pm
Ya lo probé, y por lo que veo, el click del checkbox se dispara primero, y luego el itemclick donde obtengo la celda deseada. Recién ahi tengo los dos valores. Por eso, está resuelto, ahi mismo hago el send().

Muchisimas gracias Jorge! Invalorable tu ayuda! :D

Por grodrig61

Claber

223 de clabLevel



 

chrome

 

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