de un combo box a un grid

felipe
26 de Enero del 2004
estoy haciendo una factura y tengo todos los productos metidos en un combo, entonces quiero que al selecionar un producto la demas informacion del producto me aparesca en un renglon del grid
por ejemplo si yo seleciono en el combo el producto refresco

que en el grid me aparesca
no_producto, nombre, precio

y al selecionar en el combo otro producto me aparescan ahora los mismos datos pero en el siguiente renglon

espero me haya dado a entender se los agradeceria mucho

sgomez
26 de Enero del 2004
A la solucion que te propusieron la podés mejorar. No es necesario llenar toda la tabla y luego mostrar la grilla, la misma puede estar visible e ir actualizandose.

En el evento DROPDOWN del combo podés poner algo asi:

insert into tabladelagrilla (camponecesario) value thisform.combobox.value
thisform.grilla.refresh

en este ejemplo se supone que la grilla tiene en el recordsource una tabla denominada "tabla de la grilla"

Jorge Martinez Ramos
26 de Enero del 2004
Hola

primero debes tener indexada la tabla de donde jalas los datos con un campo clave para que cuando selecciones del combo un dato agarres la clave de ese registro y lo vayas a buscar a la tabla principal donde tenes los datos del producto cuando lo encuentre que te pase ese registro a una tabla temporal que despues de beras vincular con la GRILLA que en esa tabla temporal donde meteras todos los registros seleccionados en el combo mas omenos asi lo entiendo.

CREATE CURSOR paso(cAMPOa, cAMPOb, cAMPOc)
SELECT mitabla &&tABLE PRINCIPAL
SET ORDER TO indice
SEEK Clave
IF FOUND()
INSERT INTO paso(cAMPOa, cAMPOb, cAMPOc)
VALUE(MITABLAcAMPO1, MITABLAcAMPO2, MITABLAcAMPO3)

SE SUPONE QUE YA CREASTES EL OBJETO DE LA GRILLA EN EL FORMULARIO PARA QUE DESPUES PODAS VISUALIZAR LOS DATOS

SELECT PASO
.Grilla.VISIBLE=.t.
.Grilla.RECORDSPURCETYPE=1
.Grilla.RECORDSPURCE= "paso"

aqui forzas a la tabla temporal a que se muestre en la grilla

Espero te sirva