| 
   
    | ...eine Zeile in einem TStringGrid löschen/ hinzufügen? |   
    | Autor: 
      Thomas Stutz |  | [ Tip ausdrucken ] |  |  |  
 
 
// For this tip you need a StringGrid1 and a Button1.// Für diesen Tip braucht man ein StringGrid1 und einen Button1.
 
 
 {...}
 type
 TForm1 = class(TForm)
 StringGrid1: TStringGrid;
 Button1: TButton;
 procedure Button1Click(Sender: TObject);
 private
 {...}
 public
 {...}
 end;
 
 type
 TStringGridHack = class(TStringGrid)
 protected
 procedure DeleteRow(ARow: Longint); reintroduce;
 procedure InsertRow(ARow: Longint);
 end;
 
 var
 Form1: TForm1;
 
 implementation
 
 {$R *.DFM}
 
 procedure TStringGridHack.DeleteRow(ARow: Longint);
 var
 GemRow: Integer;
 begin
 GemRow := Row;
 if RowCount > FixedRows + 1 then
 inherited DeleteRow(ARow)
 else
 Rows[ARow].Clear;
 if GemRow < RowCount then Row := GemRow;
 end;
 
 procedure TStringGridHack.InsertRow(ARow: Longint);
 var
 GemRow: Integer;
 begin
 GemRow := Row;
 while ARow < FixedRows do Inc(ARow);
 RowCount := RowCount + 1;
 MoveRow(RowCount - 1, ARow);
 Row := GemRow;
 Rows[Row].Clear;
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
 // Insert Row, Zeile hinzufügen
 TStringGridHack(StringGrid1).InsertRow(1);
 // Remove Row, Zeile entfernen
 TStringGridHack(StringGrid1).DeleteRow(2);
 end;
 
 end.
 
 
 
   
   
    | 
         
          | Bewerten Sie diesen Tipp: |  |  |