FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
problema con un dbgrid en Firebird
Hola, estoy trabajando con Firebird 2.0 y Delphi 5, desarrollando una aplicacion maestro detalle, donde tengo facturas y articulos, veo los articulos en un dbgrid, el problema es que al modificar los articulos tengo que salir del renglon del dbgrid que estoy modificando para que realmente haga las modificaciones,si modifico la linea y no salgo de esta las modificaciones no funcionan, no se que puede ser, probe haciendo post pero no puedo, salu2
|
#2
|
||||
|
||||
Debes hacer un commit para que los cambios surtan efecto.
Ver los cambios inmediatamente, dependerá de si usas Commit o CommitRetaining en la transacción. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
es correcto que suceda eso, debido a que si no pasas a la sgte linea del dbegrid el estado de la linea continua como edit o insert segun corresponda y para confirmar un insert o modificación la unica forma a por medio de un post.
por lo tanto si no pasas a la sgte linea no sucede el evento post. - lo que puedes hacer es al salir del campo modificado o al salir del dbgrid forzar un evento post. para que tus datos sean actualizados atte jgutti |
#4
|
|||
|
|||
el CommitRetaining lo hago al grabar o emitir la factura.
El tema es que el dbgrid esta en un formulario y a veces el usuario puede cerrar el formulario que contiene el dbgrid sin cambiar de linea, he probado hacer en el evento onclose del formulario que contiene el dbgrid: if tabla.State=dsedit then tabla.Post; pero aun estando en la misma linea, solo habiendo cambiado de columna la tabla no que da en modo de edicion, y no puedo hacer el post. En este ultimo caso cuando vuelvo a abrir el form con el dbgrid, me vuelve a dejar el valor anterior. |
#5
|
||||
|
||||
Hola.
Pon la propiedad autoedit del datasource asociado a la tabla True. Ahora en el momento que cambies el valor de una columna y te muevas a otra el dataset estará en modo edicion. Saludos |
#6
|
|||
|
|||
yo para solucionar este problema realizo lo sgte:
en el evento exit de dbgrid consulto: if (tabla.state=dsinsert) or (tabla.state=dsedit) Then tabla.post; - de esta forma al salir del debe grid si existe un post pendente forzara a realizar el post. jgutti |
#7
|
||||
|
||||
Resp
Lo que debes es hacer un commit refresh(uso ibo y hagoi refreskeys).
Y parta evitar qu esalgan sin grabr en le onclose query de la forma verifique si el dta set esta es estado de edicion o insercion y hace slo qdebas hacer. Espero te sirva.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema de UDF en Firebird 2.0 | Kipow | Firebird e Interbase | 2 | 14-04-2008 16:34:51 |
Firebird: Problema con LIKE | rretamar | Firebird e Interbase | 11 | 07-03-2007 18:47:57 |
Problema con FireBird | AGAG4 | Firebird e Interbase | 11 | 02-04-2005 01:26:23 |
Problema C# y Firebird | AdrianD | .NET | 6 | 07-09-2004 23:40:38 |
PROBLEMA CON SQL de FIREBIRD | laaccaal | SQL | 0 | 12-08-2004 17:52:12 |
|