Hola a todos
Tengo una serie de selecciones que estoy haciendo con varios ttreeview (no
se me ocurre otro objeto), que trata de elegir uno de los item en algunos de
ellos y varios en el caso de los sabores. Los ttreeview cargan gaseosas que
tienen marcas, tamaños, sabores y empaquetado.
Quiero saber cual es un item chequeado para revisar si no hay otro en el
caso de marcas (solo puede ir una) y estuve mirando en el ejemplo el metodo
::otv:getselecteditem(), pero no me devuelve como pensaba el item elegido
sino el objeto ttreeview. Hay alguna manera de identificar cual es el ultimo
item chequeado (dentro de un ttreeview. Solo existe un nivel de eleccion),
para en consecuencia poder decidir que hacer.??
Alguien me puede desburrar un poco sobre el tema.
Desde ya muchas gracias
Luis Cahisa
lmcahisa@yahoo.com.ar
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Ttreeview - Dudas
-
- Mensajes: 10
- Registrado: Lun Jul 16, 2007 10:39 pm
Ttreeview - Dudas
Luis,
si entiendo bien el problema, lo que necesitas es el evento
OnCheckStateChanged de TTreeview.
Haz doble click en el evento en el inspector de objetos y añade este código
al método que ha generado el IDE:
//Quitamos las marcas a los otros
AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
//oItem:lChecked contiene el item que acabas de marcar
Si no es lo que necesitas, intenta describirlo un poco más o adjunta una
imagen para ver mejor lo que quieres hacer.
Saludos,
José Lalín
si entiendo bien el problema, lo que necesitas es el evento
OnCheckStateChanged de TTreeview.
Haz doble click en el evento en el inspector de objetos y añade este código
al método que ha generado el IDE:
//Quitamos las marcas a los otros
AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
//oItem:lChecked contiene el item que acabas de marcar
Si no es lo que necesitas, intenta describirlo un poco más o adjunta una
imagen para ver mejor lo que quieres hacer.
Saludos,
José Lalín
-
- Mensajes: 10
- Registrado: Lun Jul 16, 2007 10:39 pm
Ttreeview - Dudas
Jose, gracias por la respuesta a ver si puedo transmitir mejor. Es dificil
explicarse escribiendo no??
oItem:lchecked me muestra .T., que el elemento esta chequeado pero no me
dice el numero de item que es. Lo que quiero hacer seria como cuando tienes
dos o mas RadioButton en un ogroupbox, y marcas uno y se desmarca el que
esta seleccionado. Como cargo los valores desde una tabla, se me ocurrio
hacerlo con el ttreeview. Si tengo cinco elementos y hay uno seleccionado
necesito saber cual es el ultimo elemento elegido para borrar el que ya
estaba.
Te adjunto una imagen del formulario a ver si se puede entender lo que
quiero hacer.
Un saludo
Cahisa
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:48f66892$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>
> Luis,
>
> si entiendo bien el problema, lo que necesitas es el evento
> OnCheckStateChanged de TTreeview.
>
> Haz doble click en el evento en el inspector de objetos y añade este
> código
> al método que ha generado el IDE:
>
> //Quitamos las marcas a los otros
> AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
>
> //oItem:lChecked contiene el item que acabas de marcar
>
> Si no es lo que necesitas, intenta describirlo un poco más o adjunta una
> imagen para ver mejor lo que quieres hacer.
>
> Saludos,
> José Lalín
Attached files
explicarse escribiendo no??
oItem:lchecked me muestra .T., que el elemento esta chequeado pero no me
dice el numero de item que es. Lo que quiero hacer seria como cuando tienes
dos o mas RadioButton en un ogroupbox, y marcas uno y se desmarca el que
esta seleccionado. Como cargo los valores desde una tabla, se me ocurrio
hacerlo con el ttreeview. Si tengo cinco elementos y hay uno seleccionado
necesito saber cual es el ultimo elemento elegido para borrar el que ya
estaba.
Te adjunto una imagen del formulario a ver si se puede entender lo que
quiero hacer.
Un saludo
Cahisa
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:48f66892$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>
> Luis,
>
> si entiendo bien el problema, lo que necesitas es el evento
> OnCheckStateChanged de TTreeview.
>
> Haz doble click en el evento en el inspector de objetos y añade este
> código
> al método que ha generado el IDE:
>
> //Quitamos las marcas a los otros
> AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
>
> //oItem:lChecked contiene el item que acabas de marcar
>
> Si no es lo que necesitas, intenta describirlo un poco más o adjunta una
> imagen para ver mejor lo que quieres hacer.
>
> Saludos,
> José Lalín
Attached files
Ttreeview - Dudas
Hola Jose
He resuelto lo que queria lograr (por lo menos eso creo), no si la manera es
la mas optima pero hace lo que necesito. Te paso el pequeño codigo a ver si
estoy en lo cierto.
Me has ayudado mucho porque tu aporte me llevo a comprender un poco mas del
objeto que para mi aun es algo intrincado, pero con aportes del foro voy
mejorando.
Desde ya muchas gracias, a vos y todos lo que responden tanto a Ignacio,
Rene Flores, Xevi, Jose F. y tantos otros que dan consejos y soluciones a
los que estamos empezando.
Un abrazo
Luis Cahisa
METHOD TreeView2CheckStateChanged( oSender, oItem ) CLASS CbioPrecios
Local mitem
mitem := oitem:lparam
AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
oSender:aItems[mitem]:lchecked := .t.
RETURN Nil
He resuelto lo que queria lograr (por lo menos eso creo), no si la manera es
la mas optima pero hace lo que necesito. Te paso el pequeño codigo a ver si
estoy en lo cierto.
Me has ayudado mucho porque tu aporte me llevo a comprender un poco mas del
objeto que para mi aun es algo intrincado, pero con aportes del foro voy
mejorando.
Desde ya muchas gracias, a vos y todos lo que responden tanto a Ignacio,
Rene Flores, Xevi, Jose F. y tantos otros que dan consejos y soluciones a
los que estamos empezando.
Un abrazo
Luis Cahisa
METHOD TreeView2CheckStateChanged( oSender, oItem ) CLASS CbioPrecios
Local mitem
mitem := oitem:lparam
AEval( oSender:aItems, {|oChild| oChild:lChecked := .F. } )
oSender:aItems[mitem]:lchecked := .t.
RETURN Nil