Содержание материала

 

Code:

// For this tip you need a StringGrid1 and a Button1.

// Fur 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 hinzufugen

TStringGridHack(StringGrid1).InsertRow(1);

  // Remove Row, Zeile entfernen

TStringGridHack(StringGrid1).DeleteRow(2);

end;

 

end.

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить