Ayuda con grid

Mi problema es que tengo dos grid juntos en un formulario pero lo que quiero hacer es que cuando le de click en un botón de comandos me mande el registro que esta seleccionado en el grid1 al grid2 pero solo el que este seleccionado en el grid1 y que se valla llenando el grid2 con los registros que valla seleccionando del grid1
Y si también si es posible pasar con un botón todos los datos y quitar con otro botón cualquier ayuda o sugerencia sera de mucha ayuda

1 Respuesta

Respuesta
1
Los controles "Grid" tienen una propiedad llamada <RecordSource> en la cual se especifica la fuente de datos que se usa para llenar el Control, otra propiedad importante es la de <RecordSourceType> en la que especificas que tipo de fuente de datos usar, por predeterminado esta en "1 - Alias".
Para lograr lo que tu quieres, hay varias formas, pero creo que una fácil y rápida sería la siguiente:
Según entiendo tu tienes dos "Grids", Grid1 y Grid2, supongo que el Grid1 (el que tiene los datos) obtiene la información de una tabla (Tabla1), si es así, lo que puedes hacer es crear un cursor (una tabla temporal), por ejemplo Cursor1.
CREATE CURSOR Cursor1 (Campo1 c(10), campo2 n(3), ... )
Este cursor debe tener los mismo campos que la Tabla1. Después solo configuras la propiedad <RecordSource> del Grid2 para que lea los datos del Cursor1.
ThisForm.Grid2.RecordSource = "Cursor1"
Ahora el código para el botón seria algo así:
SELECT Cursor1
APPEND BLANK
REPLACE ;
Campo1 WITH Tabla1.Campo1, ;
Campo2 WITH Tabla1.Campo2, ;
Campo3 WITH Tabla1.Campo3, ;
...
ThisForm. Refresh()
Con esto, cada vez que le des Click a ese botón, se agregará un registro en el Cursor1 y se mostrará en el Grid2..
De igual forma, para pasar todos los datos, copias todos los registros al cursor, o los borras todos, para dejarlo en blanco.
Suerte.
Una consulta la crear el cursor es en el evento ini de form1 o de otro evento y como cierro los cursores y que no se me cierre la tabla principal solo cerrar los cursores tienes un ejemplo por favor te agradecería mucho gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas