FoxPro/Visual FoxPro - Ayuda con grid

 
Vista:

Ayuda con grid

Publicado por Giovanni (64 intervenciones) el 08/05/2009 22:35:06
Tengo un grid al cual le enlaso un cursor producto de una consulta, lo que quiero es que cuando le de doble click sobre cualquier registro me lo reconozca y me haga un proceso que tengo en el evento dblclick del grid.

Actualmente funciona asi: le doy click en el registro que quiero y despues tengo que ir a una parte vacia del grid y darle doble click para que me llame al evento dblclick del grid. si le doy doble click sobre el registro no hace nada solo el cursor se para en el registro y no mas. asi tengo definido el grid

DEFINE CLASS migrid AS GRID
Visible = .T.
DeleteMark = .F.
Width = 468
Left = 102
Top = 176
Height = 150
AllowAddNew = .T.
ColumnCount = 3
AllowRowSizing = .F.
TabIndex = 11
SplitBar = .F.
RecordSource = 'Consulta'
PROCEDURE DblClick
c_Cod_Cliente = CONSULTA.Exp_1
IF nBus_Cliente = 1
Cliente_Seleccionado_Consulta()
ELSE
Cliente_Seleccionado_Facturacion()
ENDIF
ENDPROC
ENDDEFINE

Otra pregunta

Quiero q cuando el usuario le de click en el header de las columnas me haga algo. pero la verdad no encuentro donde colocar el evento click del header es mas nose como hago un header. si tienen un codigo como el de arriba que me pueda guiar les agradeceria. (he visto que en muchos lados hablan de esto pero no he encontrado un ejemplo en codigo para entenderlo mejor).

Gracias de antemano y les agradeceria la colaboracion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con grid

Publicado por Victor Hugo (757 intervenciones) el 08/05/2009 23:23:09
Tienes que poner el código en el evento DblClick pero no del grid, sino no del objeto contenedor el Texbox. es decir:

Recuerda las jerarquías

Grid --> Contenedor de Column --> Contenedor de TexBox

ahí en ese TexBox en el evento DblClick va tu código
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con grid

Publicado por Pablo (Argentina) (433 intervenciones) el 08/05/2009 23:42:11
Hola Amigo, mira aca te paso un ejemplo y comentario que esta actualmente publicado en este foro que lo ayudo a otro programador, yo lo unico que hago es pasartelo a ver si te ayuda, no es mi autoria pero te puede servir para ayudarnos entre todos.

En el evento click de header de tu columna poner algo asi:
select mitabla
set order to cliente
thisform.grid.refresh
asi, cada vez que le den click al encabezado de la columna cliente, esta se ordena por cliente, repetirias lo mismo para nombre y asi, sucesivamente, con esto te evitarias usar un espacio para un cuadro de opciones.
Suerte
E.

Lo que haces aqui es haciendo click en el header de la columna cliente hace algo como vos decis?, no se si es eso lo que buscas o que queres hacer con el header de las columnas del grid.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con grid

Publicado por Gabriel Sánchez (112 intervenciones) el 10/05/2009 01:36:48
DEFINE CLASS migrid AS GRID
Visible = .T.
DeleteMark = .F.
Width = 468
Left = 102
Top = 176
Height = 150
AllowAddNew = .T.
ColumnCount = 3
AllowRowSizing = .F.
TabIndex = 11
SplitBar = .F.

AllowCellSelection = .F.


RecordSource = 'Consulta'
PROCEDURE DblClick
c_Cod_Cliente = CONSULTA.Exp_1
IF nBus_Cliente = 1
Cliente_Seleccionado_Consulta()
ELSE
Cliente_Seleccionado_Facturacion()
ENDIF
ENDPROC
ENDDEFINE

Hola Con esta propiedad se soluciona.
AllowCellSelection = .F.

solo que ya no podras posisionarte en ninguna celda.
solo registro completo.
Suerte,

Gabriel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con grid

Publicado por Giovanni (64 intervenciones) el 10/05/2009 06:49:41
Grabriel creo que con eso lo soluciono pero la cosa es que estoy con VFP 6 y esa propiedad aparece en la version 8 y por el momento no hay posibilidad de usar esa version.

Gracias y lo tendre encuenta para futuros proyectos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar