Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2021
Ralevi Ralevi is offline
Miembro
 
Registrado: ago 2021
Posts: 20
Poder: 0
Ralevi Va por buen camino
Wink Añadir a un Grid campos de una base de datos

Hola de nuevo, seguimos probando cosas, ahora le toco a las bases de datos.

He creado una aplicación Android con una base de datos SQLite.

Añado al Form un FDConnection y un FDTable, sin inicializarlos.

La BD se conecta en el evento OnCreate mediante

Código Delphi [-]

var
ruta:string;

begin

 ruta:=TPath.GetPublicPath()+'/Turnos_SSV.db';

 FDConnection1.DriverName:='SQLite';
 FDConnection1.Params.Database:=ruta;
 FDConnection1.Connected:=true;

 FDTable1.TableName:='01_MANUEL_LORA';
 FDTable1.IndexFieldNames:='idx';
Se conecta y funciona bien, asigno los valores a varios TEdit mediante:

Código Delphi [-]
Edit_fecha.Text:=FDtable1.FieldByName('fecha').Value;
Edit_turno.Text:=FDTable1.FieldByName('turno').Value;
Hasta aqui todo bien

Ahora quería añadir un TGrid para visualizar los datos, si lo hago mediante LiveBindings me añade
TBindSourceDB, TBindingsList y TLinkGridToDataSource, y funciona, pero me visualiza en el Grid todos los campos, y yo solo quería ver dos.

¿Hay forma de asignar al Grid solo las columnas que necesito?

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 11-09-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No he usado ese componente, pero supongo que será "como toda la vida", haz doble click encima y aparecerán todos, quita los que no quieras.
Responder Con Cita
  #3  
Antiguo 11-09-2021
Ralevi Ralevi is offline
Miembro
 
Registrado: ago 2021
Posts: 20
Poder: 0
Ralevi Va por buen camino
Gracias por la respuesta.

El problema es que si en el IDE conecto la base de datos al FDConnect y al FDTable la App no arranca, se queda en el logo de inicio y se cuelga, he conseguido que vaya dejando las conexiones sin definir, y en el evento OnCreate lo pongo todo "a mano" y asi funciona. Que ocurre entonces, que como el FDTable en el IDE esta sin activar no puedo acceder a los campos, la consulta es si se pueden enlazar en tiempo de ejecucion los campos al Grid, o a cualquier componente visual de rejilla.
Responder Con Cita
  #4  
Antiguo 11-09-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Claro, en modo diseño la conectas, haces lo que necesites y luego la desconectas para compilarla.
Responder Con Cita
  #5  
Antiguo 11-09-2021
Ralevi Ralevi is offline
Miembro
 
Registrado: ago 2021
Posts: 20
Poder: 0
Ralevi Va por buen camino
Ya lo intente, pero en cuanto conecto a la base de datos, aunque luego la desconecte, al compilar ya no me carga en el movil, se queda colgada.

Creo en el FireDAC Explorer la connection definition, la cargo en el FDConnection, y lo enlazo al FDTable. En el Deployment del proyecto añado la base de datos y la pongo en destino assets\

Pero si compilo ya no funciona en el movil, aunque esten inactivos los dos componentes
Responder Con Cita
  #6  
Antiguo 13-09-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Ralevi Ver Mensaje
¿Hay forma de asignar al Grid solo las columnas que necesito?
Puedes acceder en runtime a la lista de columnas del TGrid y ocultar las que no necesites.
Asignalas todas y oculta las que no quieras.

Código Delphi [-]
Grid1.Columns[0].Visible := False;
Grid1.Columns[1].Visible := False;
...

Otra opción es utilizar una Query (no directamente la tabla) para hacer el "binding".

Por último puedes crear una Vista sólo con los campos que quieres ver y utilizar la Vista en lugar de la Tabla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 14-09-2021
Ralevi Ralevi is offline
Miembro
 
Registrado: ago 2021
Posts: 20
Poder: 0
Ralevi Va por buen camino
Muchas gracias.
Al final lo mas sencillo es siempre lo mas efectivo, cree las vistas, y funciona justo como quería.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar Grid (Base de datos en aplicación multiusuario) NeWsP MySQL 3 24-09-2015 06:20:26
como añadir tabla a base de datos desde delphi anubis Firebird e Interbase 3 17-03-2008 17:46:41
Problema con añadir registro a base de datos sdiaz1983 Conexión con bases de datos 13 09-01-2008 22:26:31
Grid ordenado al añadir registro Tomás Varios 0 13-03-2004 14:58:02
Como añadir un combo en un string grid? burasu Varios 2 08-05-2003 09:25:56


La franja horaria es GMT +2. Ahora son las 06:41:11.


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
Copyright 1996-2007 Club Delphi