Ver la Versión Completa : Como declarar DeleteRow de StringGrid
mRoman
20-07-2021, 22:07:00
Hola amigos buenas tardes.
Trabajo Delphi6, FB 2.0, Win10.
Estoy investigando como borrar una linea de un StringGrid, he consultado estos links
https://stackoverflow.com/questions/16351109/how-do-i-delete-a-tstringgrid-row
http://www.clubdelphi.com/foros/showthread.php?t=36452
Pero mis conocimientos en Delphi no son muy amplios, sinceramente no se donde declarar esto,...
Alguien me pudiera explicar como se debe hacer...o sea ahi lo explica lo q se debe hacer, pero donde? en un archivo .PAS nuevo? o que?.
Los leo.
Gracias por su tiempo compañeros.
Saludos.
ecfisa
20-07-2021, 22:27:09
Hola.
Se trata de desproteger la clase TStringGrid para acceder a los métodos protegidos, por ejemplo:
...
interface
uses ..., Grids;
type
TStringGrid = class( Grids.TStringGrid ); // clase desprotegida
TForm1 = class( TForm )
StringGrid1: TStringGrid;
...
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
...
begin
StringGrid1.DeleteColumn( StringGrid1.Col ); // borra columna actual
StringGrid1.DeleteRow( StringGrid1.Row ); // borra fila actual
end;
El las versiones de Delphi mas actuales deberás usar
...
uses ..., Vcl.Grids;
type
TStringGrid = class( Vcl.Grids.TStringGrid );
...
Saludos :)
mRoman
20-07-2021, 22:56:52
Hola.
Se trata de desproteger la clase TStringGrid para acceder a los métodos protegidos, por ejemplo:
...
interface
uses ..., Grids;
type
TStringGrid = class( Grids.TStringGrid ); // clase desprotegida
TForm1 = class( TForm )
StringGrid1: TStringGrid;
...
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
...
begin
StringGrid1.DeleteColumn( StringGrid1.Col ); // borra columna actual
StringGrid1.DeleteRow( StringGrid1.Row ); // borra fila actual
end;
El las versiones de Delphi mas actuales deberás usar
...
uses ..., Vcl.Grids;
type
TStringGrid = class( Vcl.Grids.TStringGrid );
...
Saludos :)
Gracias Daniel por contestar.
Entiendo lo que me comentas, pero debo abrir un nuevo FORM, UNIT...es que esa parte no me queda claro.
Gracias.
P:D. OK...ya hice las modificaciones y ya veo la propiedad DeleteRow.
manelb
21-07-2021, 07:24:50
Referente a la solución que propone ecfisa, leí hace un tiempo un artículo de Ian Marteens propuesto por ElKurgan que hablaba sobre el tema: Clases Interpuestas (http://www.clubdelphi.com/foros/showpost.php?p=534282&postcount=7)
Me pareció muy interesante y lo he utilizado en algunas ocasiones.
Espero sea de interés refrescarlo.
Saludos
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.