Hallo,
auf der Suche nach einem komfortablen Grid, habe ich mir das AdvStringGrid von TMS heruntergeladen und probiere damit jetzt ein bischen herum. Leider habe ich es bisher (unter anderem) nicht geschafft,
- Zellen ganz normal zu editieren (im normalen Grid "goEditing")
- eine eingefügte Checkbox mit der Maus zu checken zu bringen
- eine Combobox anzeigen zu lassen
Ich muss dazu sagen, dass ich die Turbo Explorer Version verwende und demgemäß die Komponente nicht in der Tool Palette installieren konnte, sondern per Code eingebunden und selbst erzeugt habe. Leider fallen dabei auch die komfortablen Einstellmöglichkeiten über den
OI weg und dummerweise gibt es die PDF-Anleitung für die Komponente nur für Benutzer, die sie sich gekauft haben und zunächst möchte ich mal mit der Umsonst-Version probieren.
Kann mir da mal jemand auf die Sprünge helfen, der die Komponente kennt?
Ich poste hier auch mal meinen Quelltext:
Delphi-Quellcode:
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
G: TAdvStringGrid;
procedure GIsFixed(Sender: TObject; Arow, Acol: Integer; var isfixed: Boolean);
procedure GGridHint(Sender: TObject; Arow, Acol: Longint; var hintstr: string);
procedure GGetEditorType(Sender: TObject; Arow, Acol: Integer; var aEditor: TEditorType);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var c,r: Integer;
begin
G:=TadvStringGrid.Create(self);
G.Parent:=Form1;
G.Align:=alClient;
G.Navigation.AlwaysEdit:=True;
for c := 0 to G.ColCount - 1 do
for r := 0 to G.RowCount - 1 do
G.Cells[c,r]:='Zelle '+IntToStr(c)+'/'+IntToStr(r);
//Farben Funktioniert!
G.Colors[4,4]:=clYellow;
//Sortieren
G.SortSettings.Column:=3;
//Checkbox
G.AddCheckBox(2,3,false,false);
G.Cells[2,3]:='Checkbox';
//Combobox
G.OnGetEditorType:=GGetEditorType;
//Fixierte Zellen Funktioniert!
G.OnIsFixedCell:=GIsFixed;
//Hint einblenden Funktioniert!
G.OnGridHint:=GGridHint;
G.ShowHint:=True;
end;
procedure TForm1.GIsFixed(Sender: TObject; Arow: Integer; Acol: Integer; var isfixed: Boolean);
begin
if (ACol=2) and (ARow=2) then
isfixed:=True;
end;
procedure TForm1.GGridHint(Sender: TObject; Arow: Integer; Acol: Integer; var hintstr: string);
begin
if ARow=3 then
hintstr:='Jetzt wird eine Hilfe eingeblendet';
end;
procedure TForm1.GGetEditorType(Sender: TObject; Arow: Integer; Acol: Integer; var aEditor: TEditorType);
begin
if Acol=4 then
aEditor:=edComboList;
G.ClearComboString;
G.AddComboString('Erstes');
G.AddComboString('Zweites');
end;