Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Eliminar fila de un StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=4796)

santiago14 29-10-2003 00:33:43

Eliminar fila de un StringGrid
 
Tengo un StringGrid con muchas filas.
Lo que quiero es eliminar una fila del stringGrid, por ejemplo eliminar la fila que esta seleccionada.
¿Como se puede hacer eso?

Gracias.

Uno es responable de lo que hace y de lo que omite hacer....

jachguate 29-10-2003 06:10:42

el stringgrid no tiene un método para eliminar una fila... lo que corresponde es con un ciclo mover todas las filas hacia arriba, y luego disminuir en uno el rowcount.

algo como:

Código:

for i := FilaSeleccionada + 1 to grid.rowcount - 2 do
begin
  grid.rows[i][0] := grids.rows[i + 1][0];
  grid.rows[i][1] := grids.rows[i + 1][1];
end;
grid.rowCount := grid.RowCount - 1;

Hasta luego.

;)

delphi.com.ar 26-12-2003 15:54:11

Un poco tarde, pero....

La clase TCustomGrid tiene el método protegido DeleteRow con este fin, tendrías que publicar este método para poder llamarlo.

Saludos!

viveba 28-06-2014 03:11:31

sobre borrar una fila de un StringGrid
 
Hola Federico, he estado buscando en google cómo acceder a DeleteRow y no encuentro información, podrías aclarar un poco cómo se accede a ese método protegido??

desde ya, muchas gracias

santiago14 28-06-2014 03:25:15

Cita:

Empezado por viveba (Mensaje 478408)
Hola Federico, he estado buscando en google cómo acceder a DeleteRow y no encuentro información, podrías aclarar un poco cómo se accede a ese método protegido??

desde ya, muchas gracias

AlGonzalez lo muestra aquí: http://www.clubdelphi.com/trucos/imprimir.php?id=277

De paso me lo recuerdo yo mismo pues, no me acordaba como publicar un método protegido.

Santiago.

viveba 28-06-2014 06:36:44

Encontrado
 
encontré lo que buscaba en http://stackoverflow.com/questions/1...stringgrid-row

espero sea útil a alguien más.

Éxitos!!

viveba 28-06-2014 18:04:02

Gracias Santiago
 
muchas gracias por la data.

ya estuve mirando ese link, y es más sencillo de entender que el que encontré yo.

Pero todos estos métodos son muy lentos si tenemos que eliminar una gran cantidad de líneas de un stringgrid, digamos 50000 de 500000 líneas, puede ser un proceso de casi una hora de demora, y supongo que esto puede variar de máquina en máquina.

Se me ocurre que tal vez podría convertir el contenido del stringgrid a un archivo de texto plano, eliminar lo que no interesa en el archivo y recuperarlo luego.

Se aceptan sugerencias para acelerar el proceso de limpieza....

gracias a todos!!!!


La franja horaria es GMT +2. Ahora son las 17:57:44.

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