Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Spalten zu Grid hinzufügen

  Alt 18. Sep 2008, 20:44
Anbei einige Beispiele:

Delphi-Quellcode:
type
  TAdvGrid = class(TAdvStringGrid); // für Zugriff auf protected MoveColumn() Methode

// Spalte rechts von Spalte ACol einfügen
procedure AdvStringGrid_InsertColumn(Grid: TAdvStringGrid; ACol: Integer);
begin
  with Grid do
  begin
    if ACol <= Grid.ColCount then
    begin
      ColCount := ColCount +1;
      TAdvGrid(Grid).MoveColumn(ColCount - 1, ACol);
    end;
  end;
end;

// Spalte mit Index ACol löschen
procedure AdvStringGrid_DeleteColumn(Grid: TAdvStringGrid; ACol: Integer);
begin
  with Grid do
  begin
    if ACol < Grid.ColCount then
    begin
      TAdvGrid(Grid).MoveColumn(ACol - 1, ColCount -1);
      ColCount := ColCount - 1;
    end;
  end;
end;

// SpaltenIndex anhand des ColumHeaders ermitteln
function AdvStringGrid_GetColumnIndexByName(Grid: TAdvStringGrid; SHeaderName: string) : Integer;
begin
  Result := Grid.ColumnHeaders.IndexOf(SHeaderName) + 1;
end;


Beispiel: Neue Spalte rechts neben Spalte "SpalteXYZ" hinzufügen
procedure TForm1.Button1Click(Sender: TObject);
var
 iColIndex: Integer;
begin
  iColIndex := AdvStringGrid_GetColumnIndexByName(AdvStringGrid1, 'SpalteXYZ');
  AdvStringGrid_InsertColumn(AdvStringGrid1, iColIndex)
end;
Thomas
  Mit Zitat antworten Zitat