Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   PickList en DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=25539)

Johnny Q 26-09-2005 16:50:29

PickList en DBGrid
 
Un saludo a todos

Tengo un DBGrid en el cual muestro los datos de una tabla, y esta tabla tiene un campo foraneo que la relaciona con otra tabla. El asunto es que quisiera saber si al insertar o editar en el DBGrid puedo mostrar la lista de ciudades que existe en la otra tabla sin necesidad de insertar un campo lookup para ello.

La razón por la que no quiero utilizar el campo lookup, se debe a que ya he probado que al abrir una tabla con un campo lookup me afecta el rendimiento de la aplicación al abrir otras formas.

Agradezco cualquier sugerencia que me puedan hacer al respecto.

lento manu 26-09-2005 17:50:12

Lo único que se me ocurre es que cambies tu componente de conexión a otro de otro tipo, usas ¿BDE?. Yo utilizo mucho los lookup, y francamente, me parece de lo mejorcito. ¿Que conexión usas? sinceramente creo que a lo mejor la optimización va por ahí. El BDE traga muy bien con los lookup. Otro tema es los componentes que tengas enganchados a ellos, prueba si acaso con las RX, a ver si también te mejora el rendimiento; pero para el DBgrid, debo confesarte que me va bien el DBgrid.

Johnny Q 26-09-2005 18:16:32

estoy utilizando ADO y la verdad es que cuando utilizo en una forma una tabla que tenga un campo lookup, y despues de cerrada e intentar abrir otra la forma actual se demora mucho en cargar.

lento manu 27-09-2005 10:51:55

La verdad, es que las pruebas que yo he realizado, es mucho más lento ADO q el BDE. Por ilógico que parezca y por mucho que se prodigue lo contrario. Pero tampoco como para no usar los Lookup. Si lo que abres es una consulta, no un TadoTable, entonces enlaza los campos sin lookup con el 'Select' y 'From'. Pero no son campos desplegables ya que la consulta, generalmente tampoco es actualizable. Tengo un gran proyecto híbrido Ado, Bde y ADOdnsOdbc, y cada conexión tiene su propia limitación e inconveniente. Prueba, si no lo usas el componente TADOdataset (en vez de TAdoTable), se basa en una SQL, pero consiente, si los datos son suficientes, modificación de los registros.
Se me olvidaba:
Otro punto importante, los lookup basarlos todos en sencillas SQL con TADOquey, nunca en TTables o TadoTable.
¿Lo tienes configurado así ya? ¿o tienes alguna tabla con los LK?, por eso con la TAdoQuery, limitas el Lookup solo al campo Id y su descripción, no abres ni traes otros registros innecesarios.
Otro tema sería revisar el diseño de la DB para que las tablas que ofrecen sus datos de diccionario a otras, estén optimizadas para eso nada más.
Por cierto: ¿cómo consigues que tu hilo esté en cabecera?...cuenta...cuenta!!

lento manu 27-09-2005 13:31:21

Acabo de encontrar este tema en http://delphi.about.com/od/usedbvcl/l/aa092703a.htm

Lo malo es que está en ingles, pero tiene un download para bajar el ejemplo. Suerte.

Johnny Q 27-09-2005 18:46:55

Muchas gracias por tus recomendaciones y respuestas, el enlace ya lo habia encontrado y estuve revisando los ejemplos, los probe pero sigue igual el rendimiento. Lo de traer el lookup desde una consulta lo voy a probar.

Lo del hilo, ni idea

Saludos...


La franja horaria es GMT +2. Ahora son las 05:21:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi