Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid: Zelle editieren trotz goRowSelect (https://www.delphipraxis.net/89753-stringgrid-zelle-editieren-trotz-gorowselect.html)

BillieJoe90 5. Apr 2007 10:05


StringGrid: Zelle editieren trotz goRowSelect
 
Hallo,
ich habe ein StringGrid, in dem goRowSelect auf true steht, d.h. die ganze Zeile ausgewählt wird, wenn man auf eine Zelle klickt. Leider geht das StringGrid dann aber nicht in den Editiermodus der entsprechenden Zelle über. Kann man das irgendwie manuell machen? Gibt es da z.B. eine Methode für oder vielleicht eine Eigenschaft, die ich ändern muss? Die Hilfe habe ich schon abgesucht...

Kann mir da irgendwer helfen?

Danke schonmal

Johannes

guidobrose 5. Apr 2007 10:36

Re: StringGrid: Zelle editieren trotz goRowSelect
 
Du kannst im OnSelectCell des Grid die Options-Eigenschaft entsprechend verändern:

z.B. Options-[goRowSelect], damit wird das Selektieren der gesamten Zeile deaktiviert.
Nach dem Editieren kannst du es dann mit +[goRowSelect] wieder einschalten.

Guido

BillieJoe90 5. Apr 2007 10:56

Re: StringGrid: Zelle editieren trotz goRowSelect
 
Danke, aber das funktioniert leider nicht, da OnSelectCell schon zu Beginn aufgerufen wird, d.h. die Option schon con Anfang nicht verfügbar ist. :(

uwewo 5. Apr 2007 11:08

Re: StringGrid: Zelle editieren trotz goRowSelect
 
Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  StringGrid1.Options := [goEditing];
end;

BillieJoe90 5. Apr 2007 11:13

Re: StringGrid: Zelle editieren trotz goRowSelect
 
Nein, das funktioniert auch nicht. OnSelectCell wird merkwürdig oft aufgerufen bei mir. Komischerweise nicht nur, wenn man die Zelle aqnklickt. Und wenn ich das ins OnClick-Ereignis schreibe, wird erst RowSizing ausgeschaltet und dann muss man nochmal klicken...
Was ideal wäre, ich weiß haslt nicht, ob es das gibt: Eine Methode, die eine Zelle in den Editier-Zustand versetzt... :?

guidobrose 5. Apr 2007 11:18

Re: StringGrid: Zelle editieren trotz goRowSelect
 
Also ich hab das grad mal probiert.

Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
with sender as TStringGrid do
  if ACol=1 then Options:=Options+[goEditing]-[goRowSelect]
  else Options:=Options-[goEditing]+[goRowSelect];
end;
Funktioniert im Prinzip ganz gut. Sobald ein Zelle in Spalte 1 geklickt wird, dann kann man editieren, leider muss man danach zweimal klicken, um wieder [goRowSelect] ein zu schalten. Da weiß ich jetzt auch keine Lösung dafür.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz