Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2017-02

Eliminar registros de un dbgrid en Lazarus

5 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis Garcia

Existe alguna forma de eliminar todos los registros de un DBGrid que este enlazado a un DataSource el cual esta enlazado a un MemDataset sin tenerlo que hacer mediante un ciclo?

Ósea eliminar todos los registros del grid sin tener que hacer un while o un for

Probé
dbg.DataSource.DataSet.ClearFields

Pero solo me elimina 1 registro y no todos.

Desde Ya Gracias
========
| ISMAEL |
========
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170208/f54690ac/attachment.html>

Reply by email

Artex trading
to Ismael L. Donis Garcia

Cierra el dataset y lo vuelves a abrir

Enviado desde mi iPhone

Show quoted text 19 lines
El 8 feb 2017, a las 16:23, Ismael L. Donis Garcia via Lazarus-es <lazarus-es en lists.lazarus-ide.org> escribió: Existe alguna forma de eliminar todos los registros de un DBGrid que este enlazado a un DataSource el cual esta enlazado a un MemDataset sin tenerlo que hacer mediante un ciclo? Ósea eliminar todos los registros del grid sin tener que hacer un while o un for Probé dbg.DataSource.DataSet.ClearFields Pero solo me elimina 1 registro y no todos. Desde Ya Gracias ======== | ISMAEL | ======== _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170208/32032f1e/attachment.html>

Reply by email

Ismael L. Donis Garcia
to Artex trading

He probado de varias formas y de ninguna funciona:

  if (dbg.DataSource.DataSet.RecordCount > 0) then begin
    dbg.DataSource.DataSet.Close; // de esta forma
    dbg.DataSource.DataSet.Open;
    dt.DataSet.Close; // de esta otra forma
    dt.DataSet.Open;
    //dbg.DataSource.DataSet.First;
    //while not dbg.DataSource.DataSet.EOF do
    //  dbg.DataSource.DataSet.Delete;
  end;

Solo funciona el ciclo, pero si el grid tiene muchos datos no se ve bien porque se ve como decrese

Desde Ya Gracias
========
| ISMAEL |
========

Earlier message 28 lines
----- Original Message ----- From: Artex trading via Lazarus-es To: Spanish version of Lazarus List Cc: Artex trading Sent: Wednesday, February 08, 2017 11:32 AM Subject: Re: [Lazarus-es] Eliminar registros de un dbgrid en Lazarus Cierra el dataset y lo vuelves a abrir Enviado desde mi iPhone El 8 feb 2017, a las 16:23, Ismael L. Donis Garcia via Lazarus-es <lazarus-es en lists.lazarus-ide.org> escribió: Existe alguna forma de eliminar todos los registros de un DBGrid que este enlazado a un DataSource el cual esta enlazado a un MemDataset sin tenerlo que hacer mediante un ciclo? Ósea eliminar todos los registros del grid sin tener que hacer un while o un for Probé dbg.DataSource.DataSet.ClearFields Pero solo me elimina 1 registro y no todos. Desde Ya Gracias ======== | ISMAEL | ========

Reply by email

Jesus Reyes A.
to Ismael L. Donis Garcia

On Wed, 08 Feb 2017 11:13:23 -0600, Ismael L. Donis Garcia via Lazarus-es

<lazarus-es en lists.lazarus-ide.org> wrote 13 lines
He probado de varias formas y de ninguna funciona: if (dbg.DataSource.DataSet.RecordCount > 0) then begin dbg.DataSource.DataSet.Close; // de esta forma dbg.DataSource.DataSet.Open; dt.DataSet.Close; // de esta otra forma dt.DataSet.Open; //dbg.DataSource.DataSet.First; //while not dbg.DataSource.DataSet.EOF do // dbg.DataSource.DataSet.Delete; end; Solo funciona el ciclo, pero si el grid tiene muchos datos no se ve bien porque se ve como decrese

En realidad solo necesitas trabajar con el dataset, no con el grid.

Congela/Descongela la visualización de datos con
DisableControls/EnableControls:

Dataset.DisableControls;
Dataset.First;
while not Dataset.EOF do Dataset.Delete;
Dataset.EnableControls;

Saludos.

Jesus Reyes A.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170208/acbb5f89/attachment-0001.html>

Reply by email

Ismael L. Donis Garcia
to Jesus Reyes A.

ok, Muchas Gracias
========
| ISMAEL |
========

Earlier message 49 lines
----- Original Message ----- From: Jesus Reyes A. via Lazarus-es To: Spanish version of Lazarus List Cc: Jesus Reyes A. Sent: Wednesday, February 08, 2017 12:45 PM Subject: Re: [Lazarus-es] Eliminar registros de un dbgrid en Lazarus On Wed, 08 Feb 2017 11:13:23 -0600, Ismael L. Donis Garcia via Lazarus-es <lazarus-es en lists.lazarus-ide.org> wrote: He probado de varias formas y de ninguna funciona: if (dbg.DataSource.DataSet.RecordCount > 0) then begin dbg.DataSource.DataSet.Close; // de esta forma dbg.DataSource.DataSet.Open; dt.DataSet.Close; // de esta otra forma dt.DataSet.Open; //dbg.DataSource.DataSet.First; //while not dbg.DataSource.DataSet.EOF do // dbg.DataSource.DataSet.Delete; end; Solo funciona el ciclo, pero si el grid tiene muchos datos no se ve bien porque se ve como decrese En realidad solo necesitas trabajar con el dataset, no con el grid. Congela/Descongela la visualización de datos con DisableControls/EnableControls: Dataset.DisableControls; Dataset.First; while not Dataset.EOF do Dataset.Delete; Dataset.EnableControls; Saludos. Jesus Reyes A. ------------------------------------------------------------------------------

Reply by email