¿Cómo hacer para que al dar doble click sobre la línea deseada muestre el detalle del documento?

Hola experto necesito de tu ayuda, tengo una ventana la cual por medio de un cursor lleno un grid el cual me muestra la información de los documentos ingresados, lo que quiero realizar es que cuando el usuario le de doble clic sobre la linea deseada en otra ventana me muestre el detalle del documento.
Realice un cursor y envíe la información a un browse pero me muestra todas las lineas, me parece que faltaría algo como capturar la posición cuando se hace doble clic pero no se .
Me podrías indicar que estoy haciendo mal o como lo puedo solucionar
Gracias

1 respuesta

Respuesta
1
Para tomar el número de registro activo debes incluir la siguiente línea antes de llamar a la otra ventana:
public lnRecord
lnRecord=recno("micursor") && definir como variable pública
* Esa línea tomará el nº de registro del cursor (no de la tabla)
* Luego, en la nueva ventana selecciona el registro con:
goto lnRecord in micursor
* Nota 1: Esto sólo funcionará si el orígen de los datos de tu segundo formulario es el mismo cursor que llena el grid de tu primer formulario. (según tu pregunta)
* Nota2: ¿Cómo llamas a tu segundo formulario desde el control grid? Ten cuidado ya que según me parece lo estás haciendo desde el mismo grid al dar doble click. Si es así, seguramente estás utilizando el evento doubleclick de tu control grid. Este evento llamará al formulario cada vez que hagas doble clic sobre el control grid sin importar el registro seleccionado, inclusive sin registros. Quizás resulte un poco confuso para el usuario final.
Quizás te convenga utilizar un control listbox en lugar de un grid, ya que es más manejable en ese sentido.
No estoy seguro de haber entendido del todo bien cual es tu situación.
Espero que mi respuesta te sea de ayuda. En caso contrario no dudes en repreguntar.
en el evento doble click hago lo siguiente
SELECT recuperadatoss
xcodigo = codigo
xnombre = nombre
do form recuperados
luego en el segundo formulario jalo la informacion agregando para cada campo lo siguiente:
value=xcodigo
tu mensionas que tengo que realizarlo con goto lnRecord in micursor
goto lnRecord in micursor
pero entonces me pierdo porque no se como seria y donde lo asigno
Mishel
Tu código está bien. Almacenas los datos en variables que luego utilizas para los controles de tu segundo formulario.
Es evidente que no interpreté tu pregunta. Mis disculpas por ello. Descarta mi respuesta anterior ya que no es tu caso.
Supongo que en tu segundo formulario tú quieres mostrar más campos del mismo registro seleccionado en el grid del primer formulario (detalle del documento). ¿Es así verdad?
No deberías tener problemas ya que estás trabajando sobre el registro activo ya que Antes de ejecutar el do form hiciste un select para asegurarte de ello.
Si tu ejecutas un browse lógicamente te va a mostrar todos los registros del cursor seleccionado.
Ahora bien. ¿En qué controles de tu segundo formulario quieres mostrar los datos?
Por favor cuéntame un poco más de ello.
Aguardo tu respuesta.
Lo quiero mostrar en TextBox, comboBox y en un grid para el detalle, el problema que tengo es con los comboBox ya que deseo que el usuario cuando recupere los datos pueda modificarlos y a como lo tengo en estos momentos me da error al momento de tratar de recuperar la información en un comboBox.
Con el grid creo un cursor (crsdetalle) en evento init igualando la variable codigo del cursor anterior con la nueva tabla y jalo los datos de la siguiente forma
thisform.grid1.column1.header1.Caption="Codigo"
thisform.grid1.column1.ControlSource="crsdetalle.codigo"
Hasta el momento me muestra toda la información unicamente el numero de documento me aparece a cero y el error del comboBox
Mishel
De a poco vamos llegando al nudo del problema.
Tu código sería algo así:
select cursor.campo, campo, campo distinct from cursor where alltrim(campo.codigo)==xcodigo into cursor crsdetalle order by 1 asc
Veamos el tema de los combobox:
¿Cómo configuras los combobox? ¿Utilizas el addlistitem o el controlsource del combobox?
¿Qué error te da y en qué instancia?
Por favor ten paciencia, es que necesitamos llegar al error
Aguardo tu respuesta
Borre el comboBox y lo cree nuevamente y ya no me dio error unicamente no me muestra la información queda en blanco, esta configurado co el Controlsource
Ok
Entonces te falta enlazar el combobox a los datos:
thisform.micombobox.controlsource="crsdetalle.codigo, campo"
Pruébalo y me avisas. Cerciórate de que el cursor crsdetalle contenga datos. Puede que no haya recuperado ningún registro y por eso queda en blanco.
Suerte y me avisas cómo te fue

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas