Insertar al final en un DBgrid...

Tengo una aplicación maestro-detalle(factura), en la cual capturo los datos del cliente y sus partidas(artículos que compra), mi problema es quiero que siempre que yo inserte un detalle se inserte al final y no al inicio o en medio de los detalles ya existentes.
Lo he intentado con el siguiente código pero no me funciona, este en el evento click de un botón:
TbDetalle.Last;
TbDetalle.insert;
Pero en otro intento que hice en una Tabla normal, Por ejemplo: TbVendedores la enlace a un DBgrid y en botón le agregue el código anterior y funciona perfectamente, el problema surge cuando utilizo maestro-detalle.
Respuesta
1
Tal como veo en tu pregunta el código que utilizas es correcto pero tiene algunas condiciones. El método Insert inserta un registro justo después del que se encuentre activo, por lo que el uso de Last es correcto para insertar al final de la tabla. De todas formas puedes hacerlo mejor con el método Append que si te insertará el registro al final, esté donde esté la tabla. Con todo, cuando se usa un BDGrid para mostrar los registros debes saber que este ordena los campos según el índice de la tabla, por lo que si en tu caso utilizas un campo, por ejemplo, código, como clave el BDGrid te mostrará los campos ordenados por este campo con lo que si insertas un registro con código menor al último te saldrá antes del final. Puedes usar un campo autonumérico para ordenar (mostrará los registros según los des de alta) y controlar que no se produzcan duplicados.
Espero haberte ayudado en algo. Un saludo desde Huelva, Andalucía; España.

1 respuesta más de otro experto

Respuesta
1
Probaste usar Tabla. Append en vez de Tabla. insert?
Proba si y me contás.
Cualquier cosa pregunta, Atentamente. DX.
PD: No te olvides de finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas