Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2005
daly daly is offline
Miembro
 
Registrado: nov 2003
Posts: 26
Poder: 0
daly Va por buen camino
DBGrid

Hola utilizao el componente DBGrid para mostrar los datos.
Tengo que mostrar una el contenido de una tabla para que el usuario seleccione una serie de registro. Había pensado en mostrar la tabla en un dbgrid y añadir un campo calculate que recoja verdadero o false si el usuario selecciona o no el registro. Esta no es una solución correcta.
Sabes como puedo mostrar los datos de una tabla y además añadir un campo, que recoja verdadero o false según el usuario hace dos vecesclick sobre el registro.
Saludos
Daly
Responder Con Cita
  #2  
Antiguo 27-12-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues es probable que no necesites ese campo, la rejilla tiene una propiedad: Multiselect que si la activas te permite seleccionar más de un registro a la vez y luego puedes recorrer la rejilla con un bucle y analizar la propiedad SelectedRows, para ver cual están seleccionadas y realizar alguna acción si procede.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 27-12-2005
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 141
Poder: 19
aledieb Va por buen camino
No tengo Delphi a mano para confirmarlo, pero el dbgrid tiene el evento onclick y ondoubleclick (no se si esta bien escrito), en ese evento poder modificar el valor del campo.
__________________
Suerte
Alejandro
Responder Con Cita
  #4  
Antiguo 27-12-2005
daly daly is offline
Miembro
 
Registrado: nov 2003
Posts: 26
Poder: 0
daly Va por buen camino
El problema de utilizar la opción de MultiSelect es que es muy fácil equivocarse y perder las filas seleccionadas.
Ejemplo: Tienes 10 Columnas seleccionadas de 30 se te olvida de pulsar la tecla control y otra vez a volver a seleccionar el resto.
La idea de una columna adicional tiene un trato distinto.
Al crear un campo calculado he intentar modificarlo al hacer dos veces click sobre una fila muestra un mensaje de errror. Update demasiado complejo
tabla.edit;
campo=True;
tabla.Post;
Esto es lo único que tengo.
No puedo utilizar un campo calculado para implementarlo. Tendré que utilizar otro componente distinto al DBGrid?
Saludos
Responder Con Cita
  #5  
Antiguo 27-12-2005
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 141
Poder: 19
aledieb Va por buen camino
No veo porque el error, deberia funcionar
Estas usando algún sistema de bases de datos, si es así reviza el codigo del update puede que alli este el error.

Una "solución" seria hacer un query en el doble click para modificar el registro utilizando otro componente de acceso.
__________________
Suerte
Alejandro
Responder Con Cita
  #6  
Antiguo 28-12-2005
daly daly is offline
Miembro
 
Registrado: nov 2003
Posts: 26
Poder: 0
daly Va por buen camino
quizás no me he explicado bien.
La tabla tiene 4 campos, campo1,campo2..,campo4. Con el grip las muestro y realizo operaciones de update, delete, etc.. sin ningún problema.
Quiero que el usuario pueda seleccionar varios registros de los listados. Para ello he creado un campo calculado. (Hago dos veces click sobre el ttable y nuevo campo). Creo uno nuevo de tipo Booleano como calculated, es aquí cuando falla.
La ida es saber que registros quiere procesar el usuario. La opción del multiselect no me termina de convencer pq es fácil equivocarse y desseleccionar los registros y tener que volver a repetir el proceso.
Saludos
Responder Con Cita
  #7  
Antiguo 28-12-2005
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 141
Poder: 19
aledieb Va por buen camino
Hice una prueba y confirme que los campos calculados no pueden modificarse, execto en el evento OnCalcFields de la tabla/query.

Proba, si podes, agregar un campo a la tabla. Otra solución no se me ocurre por el momento
__________________
Suerte
Alejandro
Responder Con Cita
  #8  
Antiguo 28-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Tambien existe un grid (scalabium) que trae un checkbox por cada registro, puedes usarlo para seleccionar y/o deseleccionar un registro. (creo que es freeware).

Otro Treeview con propiedades de grid es el VirtualTreeView (éste es más potente para mostrar muchos miles de registros, pero es algo más laborioso que el scalabium, buscando en google, seguro que te topas con ellos en el primer click.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 28-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Aquí pongo los enlaces para descargar los componentes que menciona Lepe.

SMDBGrid

VirtualTreeView

En lo personal me gusta más utilizar VirtualTreeView porque tiene una infinidad de opciones, pero es mucho más complejo y al principio cuesta mucho trabajo entender como funciona.

Por otra parte SMDBGrid trabaja exactamente igual que un DBGrid normal y trae demos, es muy sencillo.

Saludos.
Responder Con Cita
  #10  
Antiguo 29-12-2005
daly daly is offline
Miembro
 
Registrado: nov 2003
Posts: 26
Poder: 0
daly Va por buen camino
Voy a probarlos. Gracias.
Otra cuestion sobre los Dbgrid. Si utilizas la rueda del ratón solo te desplazas por los registros que tienes en ese instante en pantallas. para ver el resto tienes que hacer click con el ratón en la barra de scroll. (no se desplaza el scroll con la rueda del ratón).
Saludos
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


La franja horaria es GMT +2. Ahora son las 13:59:57.


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