FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
DBGrid
Buenas Tardes:
Mi pregunta es la siguiente ¿existe algena manera que un DBGrid en un campo como por ejemplo que diga proveedor cuando me pare alli me despliege los nombres existentes que hay en la base de datos de proveedores y pueda seleccionar uno? si la hay como se podria hace. Gracias Por la ayuda
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde. |
#2
|
||||
|
||||
Yo creo que no
Es decir, con un TDBGrid normal no conozco la forma de hacerlo, puedes buscar por los foros hilos en los que se habla de componentes avanzados que hagan eso que tu quieres...si no tambien los tienes por internet.
En cualquier caso, donde está tu espíritu aventurero... hazlo tú. No quedará muy profesional, es decir, va a quedar una chapuza pero mira el lado positivo, vas a aprender un monton. Una posible idea:
Ejemplo: y asi cuando hagas click sobre el "Tipo" de (3, Julio), la tabla te quedará: y al hacer click sobre una linea que no tiene un codigo asociado recoges el valor lo cargas en tu tabla REAL y vueves a crear la tabla intermedia. Venga a programar... y a pasarlo bien. PD: Cuando no duermo me vuelvo algo friki |
#3
|
||||
|
||||
Saludos
Si mal no recuerdo, las columnas de un DBGrid tiene una propiedad llamada PickList, en la qe puede (en modo dise~o o Ejecucion) aderir datos y estos seran desplegados (en modo de ejecucion) en la celda como un ComboBox. Puedes intentar hacer un bucle que recorrar la tabla de proveedor* e ir agregando al PickList de la columnas que decidas Suerte (*)Una vez no tuve que hacer eso y se agregaron los datos solo, pero estas tablas estaban relacionadas Maestro-Detalles
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
||||
|
||||
Disculpas
Cita:
Desde estás líneas pido disculpas a quien haya podido desmoralizar... Un saludo, y para otra vez antes de contestar instalaré delphi y haré alguna comprobación en vez de hacerlo de memoria... Última edición por hector.roma fecha: 26-07-2005 a las 01:39:16. Razón: Cambio tipo de letra |
#5
|
|||
|
|||
Te sirve un lookup field ???
Hola.No sé si es lo que estás buscando, pero prueba a crear un campo del tipo lookup en el editor de campos persistentes del dataset asociado al DBGrid. En el momento en que metas ese campo como una columna del Grid y entres en modo edición se creará automáticamente un dblookupcombobox.
Saludos. |
#6
|
||||
|
||||
Otra solución puede ser incrustar un DbLookUpCombobox en la Rejilla y si te parece dificil esta opción, a parte de las mentadas por mis compañeros de Foro, puedes hacer que al hacer doble clic sobre una linea de la rejilla se abra un formulario de diálogo con los proveedores (modal) para que se ejija uno.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
||||
|
||||
Cita:
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde. |
#8
|
||||
|
||||
Cita:
Besos chupos y abrazos para todos gracias por la ayuda
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde. |
#9
|
||||
|
||||
Saludos
De memoria: Aunque creo que lo dicho por Cita:
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#10
|
||||
|
||||
Hola gracias con respecto a este codigo:
Código:
procedure Cualquiera; begin With TbProveedor do begin Open;// First; While not Eof do begin DbGrid.Column[0].PickList.Append(FieldByNam('campo').AsString; Next; End; End; end; Código:
With TbProveedor do begin
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde. Última edición por dmagui fecha: 26-07-2005 a las 16:07:16. |
#11
|
||||
|
||||
No mira hazlo asi en tu procedure:
lo que si no tengo NPI es de como hacerlo segun como indica macoszorrila, es decir agregando un dblookupcombobox y te agradeceria marcos si puedes abrir nuestras mentes con esta interesante solucion
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas |
#12
|
||||
|
||||
hayyyy gracias pero hay un problema con esta solucion y es que hay que hacer como 4 click para que despliegue la lista esto se puede corregir????
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde. |
#13
|
||||
|
||||
Saludos
Cita:
http://www.clubdelphi.com/foros/show...bgrid+checkbox http://www.clubdelphi.com/foros/show...bgrid+checkbox http://www.clubdelphi.com/foros/show...bgrid+checkbox
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#14
|
||||
|
||||
pero como dice marcos es que hacer esto para el caso con el que estoy haciendo pruebas:
tabla1 es de PERMISOS con campos cod_per, user_name, prodcre tabla2 es de USUARIOS con campos cod_user, user_name, user_pass lo que quiero es escoger el user_name mediante una lista desplegable cuando este en el la tabla PERMISOS cuando hago dobleclick en el IBTable1 me despliega un editor hago click derecho y escojo add fields despues hago click derecho y escojo newfield Despues de esto me muestra un cuadro de dialogo y me aparecen los siguientes campos: Nombre : coloco un nombre cualquiera Component : se coloca solito Type: le coloco string de 20 FieldType: Escoji el Lookup KeyField: puse la llave primaria de la tabla1 Resultfield: el campo que deseo mostrar en el combo lookup keys: llave primaria de la tabla2 eso es lo que entendi, pero me saca un error que dice: DataField not permitted on open Dataset y hay si no tengo ni idea como corregirlo.
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas |
#15
|
||||
|
||||
Cita:
mira si te sirve te lo puedo reducir de 4 a 2 click solo tienes que poner en true la propiedad del dbgrid dgalwayshoweditor, me gustaria decirte como hacer para que de una vez te apareciera la lista deplegable y lo unico que tuvieras que hacer es seleccionar pero me queda dificil por que no se y a decir verdad creo que es imposible
__________________
Una forma de alcanzar tus metas es ayudando a otros a alcanzar las suyas |
|
|
|