gente, la pregunta es algo "trillada" pero no entiendo cómo resolver el problema.
Por lo que he leído, para hacer doble click sobre una fila de un grid y se dispare un evento, hay que poner la propiedad AllowCellSelection = .F. del grid (para que se seleccione toda la fila) y en vez de poner en cada método doble click del text de cada columna del grid el código (lo que quiero que haga), se utiliza BINDEVENT(oEventSource, cEvent, oEventHandler, cDelegate [, nFlags])
Ahora, lo que he hecho es poner en el doble click del grid lo que quiero hacer y en el init del grid lo siguiente:
LOCAL nCol
WITH This
FOR nCol = 1 TO .ColumnCount
BINDEVENT(.Columns (nCol).Text1, "DblClick", ThisForm, "DblClick")
NEXT
ENDWITH
en el DblClick del grid tengo
thisform.varpara = thisform.grid1.column1.text1.Value
DO FORM orden_de_pago2 WITH thisform.varpara
lo que hago es pasarle al form el valor que aparece en el primer text de la columna 1.
Lo que ocurre es nada, solo hace lo deseado si hago doble click sobre cualquier fila de la columna uno, pero si hago click en cualquier otra columna, no me toma el valor correspondiente a su primer celda.
¿Alguna sugerencia para solucionar esto?
Está claro que estoy utilizando mal bindevent.
Sé que puedo resolverlo poniendo el código en cada text de cada columna, pero no me parece que demuestre mucho más conocimiento del poco que ya tengo...
Agradezco sus sugerencias