FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
DbGrid Modificable
Hola:
Deseo saber si en Delphi existe una propiedad para el DbGrid que funcione igual que al AllowUpdate del DataGrid de Visual Basic ya que deseo realizar Modificaciones en el DbGrid para posteriormente guardarlas en la BD, si existe, ¿me podrian decir cual es y como funciona? Gracias |
#2
|
||||
|
||||
Si utilizas un DbGrid, conectado a una fuente de datos, una Tabla o una consulta modificable, los cambios que realices sobre la rejilla se guardarán directamente en la fuente.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Asi lo uso
El DbGrid se encuentra relacionado con un Query y un Datasource y basicamente esto es lo que hago:
Query1.SQL.Clear; Query1.SQL.Add('select * from vehiculos'); Query1.Open; DataSource2.DataSet:=Query1; dbgrid2.DataSource:=datasource2; y me muestra todos los vehiculos con sus campos, lo que quiero es que me deje realizar modificaciones en el contenido del DbGrid es decir en los datos de los vehiculos para posteriormente guardarlos. No se si me explico |
#4
|
||||
|
||||
Pues bastará con que pongas la propiedad de la consulta RequestLive activada (True) y ya podrás hacer modificaciones en la consulta, si la tabla es Paradox, te obligará a tener una clave primaria para poder efectuar los cambios.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
No, no es tabla Paradox y el RequestLive que ¿mencionas es una propiedad del DBgrid?
Un Saludo y Gracias por Contestar tan rapido ya que nesesito solucionar esto lo mas rapido posible. |
#6
|
||||
|
||||
Pues no es una propiedad del componente Tquery, por cierto que tipo de tablas estás utilizando.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
|||
|
|||
Utilizo MySql como manejador de BD y ahi creo mis tablas, ¿Entonces esa propiedad se la asigono al componente Query en el Object Inspector y como se encuentra asociado al DBGrid me permitira escribir en el para hacer las modificaciones?
Muchas Gracias en Verdad |
#8
|
|||
|
|||
yo andaba buscando hacer lo mismo,,, en un dbgrid modificable me interesaria que se pueda modificar solo una columna,,, habilite a True la propiedad RequestLive pero me marco un error 'Invalid use of keyword' Token 101.. saben a que se debe esto? lo hace cuando activo el Query.Active := True;
como comentario de ayuda: El Query se modifica segun la eleccion en un DBLookupComboBox ok ya arregle el error jejeje lo habilite en el codigo Query.Active := True; Query.RequestLive := True; pero sigue sin poder escribir en la celda seleccionada, entro al acelda y se me selecciona el texto que contiene la celda y no me deja escribir... Última edición por gama_blind fecha: 11-01-2007 a las 07:30:00. |
#9
|
|||
|
|||
dbgrid modificable
Buenas chicos, la pregunta la verdad es un poco al pedo porque tengo entendido que no se puede hacer... sin embargo no pierdo la esperanza.
Resulta que utilizo un dbgrid que cargo con un query, el problema es que el query es un rejunte de "inner join" de otras tablas... osea no es un acceso directo a un tabla. Deseo seleccionar una fila y modificarla... de otro modo tengo que agregar una pantalla nueva a mi aplicacion. Si alguien puede darme una mano se lo agradeceria. besos a todos. |
#10
|
||||
|
||||
Natucha: Necesitas un TUpdateObject. Dependiendo de los componentes que uses tendrá un nombre u otro. Básicamente ahí escribes las sql de actualización trabajando directamente sobre las tablas afectadas. Como bien dices, al usar inner joins no se puede editar el dataset, pero nada te impide enviar una actualización a una tabla concreta.
gama_Blind: Ojo a lo dicho para Natucha . Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
|||
|
|||
gracias!!
Gracias blind... cuido mi lenguaje. No me di cuenta
|
#12
|
||||
|
||||
Cita:
Esta opción es independiente de la Base de Datos que estés utilizando. Ya que se trata de un componente (que ya viene con Delphi) y que lo que hace es que te permite hacer los cambios en memoria, para finalmente realizar todas las actualizaciones de golpe (revisa en la ayuda TClientDataset y el método ApplyUpdates).
__________________
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. |
#13
|
||||
|
||||
Revisa la propiedad autoedit del DataSource, debe estar en true si quieres editar los datos desde la grilla
|
#14
|
|||
|
|||
Actualizaciones en DBGrid
Master:
Bueno, no se si llego un poco tarde.. pero lo que te propone Neftali, es lo mas simple. Ademas es lo que uso yo. Usa un Query con la consulta de la tabla que vos quieras. Los campos que vienen desde otras tablas tendaras que ponerle en el editor de campos del Qery, que no son actualizables. este Qry lo enlacas con un DataSetProvider y de ahi a un ClientDataSet, de nuevo en el CDS agrgas los campos y los que no son de la tabla original les pones que no sea actualizables. Par gravar los datos dentro de la tabla despues de modificar, ya que todo se hace en memoria , haces un ApplyUpate(0) del ClientDataSet y listo. No necesitas modificar ningun grilla. Si solo queres que se puedan modificar cierto campos de la grilla, usa los eventos de la misma grilla para limitar en que columna lo dejas entrar. Espero te sirva y no haber llegado tarde. Luis |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como exportar informes Rave a Word "modificable" | zerelho | Impresión | 0 | 11-01-2006 13:59:11 |
PickList DBGrid (Pregunta acerca de los DBGRID) | lazarous | Varios | 1 | 10-01-2006 09:53:12 |
Como extraer datos de un DBgrid a otro DBgrid | mickey | Conexión con bases de datos | 13 | 29-01-2004 05:05:30 |
|