Cita:
Empezado por noob
¿No se puede hacer con el TDBGrid sin más o cómo mucho usando alguna estructura de datos tipo array dinámico?
|
No necesitas hacer nada de eso, la vida es muy sencilla con delphi. Lo que tienes que hacer en primer lugar es olvidarte del Picklist, eso no sirve para lo que quieres, lo que necesitas es un lookup combo box, en el cual expecifiques las columnas que quieres visualizar (Código y descripción).
Antes que nada, si de lo que hablo no entiendes algo, busca en la ayuda de delphi las palabras en negrita.
Empecemos, primero tienes que crear los
TField de la tabla "Producto", una vez creados, posicionado en el campo "Codigo" y pulsa F11 para mostrar las prompiedades del
TField, veras las propiedades "
LookupDataSet,
LookupKeyFields y
LookupResultField)
Segundo, añade un dataset nuevo que devuelva los datos del código y descripción que quieres visualizar. Añade un dataSource y asociale el
DataSet creado.
Tercero asocia el dataSource creado a la propiedad
TField.LookupDataSet del campo "Codigo". En la propiedad
TField.LookupKeyFields pones los campos del DataSet creado separados por ";" ejemplos: "CODIGO;DESCRIPCION". En la propiedad
TField.LookupResultField poner el campo del que tomará el valor a guardar en tu tabla por ejemplo: 'CODIGO'.
Cuarto, tienes que abrir el DataSet creado con el resto de los DataSet.
Fin, ahora cuando en el dbgrid pulses sobre el botón del campo "CODIGO"SE mostrará el código y descripción, justo lo que quieres.
un saludo