Usar AfterRowColChange para interactuar con dos grids...

408 views
Skip to first unread message

Maxi

unread,
Apr 10, 2014, 9:57:15 AM4/10/14
to publice...@googlegroups.com
Bueno Como el titulo lo dice estoy trabajando con dos grids uno tiene codigo y clientes el otro tiene creditos cardados donde al seleccionar un cliente en el primer grid muestra los creditos de dicho cliente en el otro grid hasta ahi todo perfecto el tema es que al seleccionar un cliente quiero que se me de el foco al otro grid osea dicho en otras palabras que le de el foco y seleccione la primera fila de creditos..

Miguel Canchas

unread,
Apr 10, 2014, 11:00:35 AM4/10/14
to publice...@googlegroups.com

Thisform.miotrogrid.column1.text1.SetFocus

 

 

MK

Ricardo

unread,
Apr 10, 2014, 7:40:12 PM4/10/14
to publice...@googlegroups.com
Podrias hacer en el init de la 1ª grilla

    FOR EACH oColumn IN this.Columns
         IF PEMSTATUS(oColumn.CONTROLS(2), "DblClick", 5)
            BINDEVENT(oColumn.CONTROLS(2),"DblClick",this,"DblClick")
        ENDIF
    ENDFOR

y en el DblClick

thisform.seggrid.setfocus

Saludos
Ricardo
Message has been deleted

Maxi

unread,
Apr 10, 2014, 7:55:16 PM4/10/14
to publice...@googlegroups.com
Gracias Ricardo funciona exactamente como quiero pero al hacerlo con doble click queda medio fastidioso como podria hacer para que sea al hacer un solo click??

Ricardo

unread,
Apr 10, 2014, 8:21:56 PM4/10/14
to publice...@googlegroups.com

En mi caso Maxi, me costo entender el uso de la funcion BINDEVENT, pero tenla siempre en mente te salvara de muchos dolores de cabeza.
Cambia por

            BINDEVENT(oColumn.CONTROLS(2),"Click",this,"Click")

Que estas haciendo?
Estas diciendo q el control2 (el textbox) ejecute el click de la grilla

Y con PEMSTATUS(oColumn.CONTROLS(2), "Click", 5)?

Te aseguras q el control posea ese evento. Sino te genera error.

Saludos

Maxi

unread,
Apr 10, 2014, 8:53:21 PM4/10/14
to publice...@googlegroups.com
No no funciona pareciera como que si pero no lo refleja bien en el grid osea los creditos del cliente que selecciono se muestran cuando se le canta al grid por decirlo asi..

Jairo Miranda

unread,
Apr 11, 2014, 9:38:28 AM4/11/14
to publice...@googlegroups.com

Es mas facil si tienes las dos tablas relacionadas …

JM

Maximiliano

unread,
Apr 11, 2014, 9:58:26 AM4/11/14
to publice...@googlegroups.com
JM Estan Relacionadas... 

Saúl Piña

unread,
Apr 11, 2014, 9:59:22 AM4/11/14
to publice...@googlegroups.com
Podrias intentar escribir el codigo en el click o valid del text1 del grid1.column1

o seguramente necesitarás la opcion de BindEvents() para lograr lo que deseas.

Maximiliano

unread,
Apr 11, 2014, 10:02:31 AM4/11/14
to publice...@googlegroups.com
Estaba pensando dejarla con el doble click pero como evito que cambie de registro la seleccion del grid al hacer un solo click?? deberia de pasar solo si hace doble click

Saúl Piña

unread,
Apr 11, 2014, 10:06:19 AM4/11/14
to publice...@googlegroups.com
Pienso que con una imagen se podría entender un poco mas lo que necesitas.

Maximiliano

unread,
Apr 11, 2014, 1:58:25 PM4/11/14
to publice...@googlegroups.com
La presentacion 2 es como deberia quedar al hacer doble click la presentacion 1 es como esta cuando se hace un solo click al seleccionar un cliente en si para no generarme tanto problema quiero que se seleccione con doble click tal y como esta pero debo saber como capturar el doble click para que no deje al usuario moverse entre registros del grid al hacer un click..
Presentación1.jpg
Presentación2.jpg

Saúl Piña

unread,
Apr 11, 2014, 3:10:46 PM4/11/14
to publice...@googlegroups.com
Te envío un ejemplo simple para interactuar con dos grids:

En el ejemplo, da un clic al grid 1 y se cambian los valores en el grid2.

Suerte.
ejemplo.ra

Maximiliano

unread,
Apr 11, 2014, 3:33:48 PM4/11/14
to publice...@googlegroups.com
Muy bueno Saul la verdad eso me quedaria genial es mas me encanta como se ve pero no entiendo como haces las relaciones y que te muestre los detalles de cada cliente??

Saúl Piña

unread,
Apr 11, 2014, 3:42:56 PM4/11/14
to publice...@googlegroups.com
ta facil, solo debes crear un cursor de la tabla "detalles" (del ejemplo) al momento de elegir o dar clic. si kieres estoy en hangouts de google, solo necesitas una cuenta de gmail y ya te explico, es facil.

Maximiliano

unread,
Apr 11, 2014, 5:16:58 PM4/11/14
to publice...@googlegroups.com
Cual Saul sos hay muchos.. sino explicame si podes por aca tratare de entenderte..

Saúl Piña

unread,
Apr 11, 2014, 5:23:00 PM4/11/14
to publice...@googlegroups.com
Chequa en el evento click de: grid1.column1.click() ahi viene como visualizar y mostrar datos segun eligas el nombre.

mi hangouts es: saulpi...@gmail.com    solo debes enviarme un email.

Maximiliano

unread,
Apr 11, 2014, 6:28:13 PM4/11/14
to publice...@googlegroups.com
me dice que la tabla clientes o nombres en tu caso no tiene ningun indice pero lo tiene.. ahora te busco..

juan echeverry

unread,
Jun 11, 2016, 10:51:16 AM6/11/16
to Comunidad de Visual Foxpro en Español

Saúl Piña

unread,
Jun 11, 2016, 12:39:08 PM6/11/16
to Comunidad de Visual Foxpro en Español
El campo que quieres indexar, no existe.
Reply all
Reply to author
Forward
0 new messages