Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como Borrar file de un stringgrid (https://www.clubdelphi.com/foros/showthread.php?t=80194)

nickolas 08-09-2012 19:17:25

Como Borrar fila de un stringgrid
 
Hola a todos y felicidades por el trabajo que hacen en esta pagina.
Ahora mi consulta es como eliminar una fila seleccionada de un stringgrid. he visto respuestas pero ninguna me ha funcionado debido a que muchos dicen que se puede desbloquear la propiedad deletedrow de TCustomGrid lo que no se es como hacerlo igual navegando un poco por aca encontre este codigo pero no se como desbloquear la propiedad esa ya que en la solocion que propone este codigo la usa pero no muestra como la desbloquea op hace publica mejor dicho.

Este es el codigo que encontre:
Cita:

procedure TForm2.But_borrarClick(Sender: TObject);
var i: Integer;
begin
If MessageDlg('Seguro de borrar Los Datos de '+#13+StringGrid.Cells[1,StringGrid.Row], mtConfirmation, [mbYes, mbNo], 0) = mrYes Then
Begin
Stringgrid.DeleteRow(StringGrid.Row); //Borra la fila seleccionada
StringGrid.Rows[Stringgrid.RowCount].Clear; //Limpia el historial de la ultima linea para evitar traer los datos
SumarCeldas;
End;
end;
si alguno me podria ayudar seria muy bueno, cabe aclarar que este codigo lo encontre en este lugar: http://www.clubdelphi.com/foros/showthread.php?t=75007

Estoy usando Delphi 2009.

Gracais desde ya por sus respuestas.

ecfisa 08-09-2012 19:49:38

Hola nickolas.

Ejemplo:
Código Delphi [-]
type
  TStringGridExt = class (Grids.TStringGrid);

procedure EliminarFila(Grid: TStringGrid; Fila:Integer);
begin
  TStringGridExt(Grid).DeleteRow(Fila);
end;

Llamada:
Código Delphi [-]
  EliminarFila(StringGrid1, 2);

Saludos :).

nickolas 08-09-2012 20:08:35

Gracias por la pronta respuesta me a sido muy util la solucion que me ofreciste gracias.

DSK25 29-09-2012 01:53:41

Cita:

Empezado por ecfisa (Mensaje 442464)
Hola nickolas.

Ejemplo:
Código Delphi [-]type TStringGridExt = class (Grids.TStringGrid); procedure EliminarFila(Grid: TStringGrid; Fila:Integer); begin TStringGridExt(Grid).DeleteRow(Fila); end;


Llamada:
Código Delphi [-] EliminarFila(StringGrid1, 2);


Saludos :).

Y en C++ Builder como seria? :)

ecfisa 29-09-2012 03:55:28

Cita:

Empezado por DSK25 (Mensaje 445755)
Y en C++ Builder como seria? :)

Hola.
Código:

...
class TStringGridExt : public TStringGrid {
public:
  void __fastcall DeleteRow(int ARow) { TCustomGrid::DeleteRow(ARow); }
};

void EliminarFila(TStringGridExt *SGridExt, const int Fila) {
 SGridExt->DeleteRow(Fila);
}

Ejemplo de llamada:
Código:

  EliminarFila((TStringGridExt*)StringGrid1, 1);
Saludos. :)

DSK25 29-09-2012 16:58:03

Gracias, funciono perfectamente.


La franja horaria es GMT +2. Ahora son las 19:42:48.

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