Wie bei StringGrid bestimmte Zeile oder Spalte sperren?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ErnstVolker
Beiträge: 353
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Wie bei StringGrid bestimmte Zeile oder Spalte sperren?

Beitrag von ErnstVolker »

Hallo,

bin gerade dabei etwas mit StringGrid's zu basteln. Es gibt die Möglichkeit über "FixedCols" bzw. "FixedRows" die absolute Anzahl von Spalten oder Zeilen festzustellen.
Sie werden grau dargestellt und man kann keine Eingabe mehr vornehmen.

Wie kann man aber z.B. nur die zweite Spalte "einer Tabelle" feststellen, oder die dritte Zeile?

Vielen Dank im voraus.

Gruß

Volker

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Wie bei StringGrid bestimmte Zeile oder Spalte sperren?

Beitrag von Socke »

ErnstVolker hat geschrieben:Wie kann man aber z.B. nur die zweite Spalte "einer Tabelle" feststellen, oder die dritte Zeile?
Indem du das selbst implementierst. Das ist keine Standardverhalten und kann daher auch nirgends eingestellt werden. Auf der anderen Seite solltest du dir überlegen, ob du deine Daten nicht anders gruppieren kannst.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

ErnstVolker
Beiträge: 353
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Wie bei StringGrid bestimmte Zeile oder Spalte sperren?

Beitrag von ErnstVolker »

Danke für die Antwort. Das genügt mir. In meinem einfachen Fall drehe ich die Spalten einfach um.
Dann Kann mich mit FixedCol einfach die Erste von links sperren.

Die Tabelle hat nur zwei Spalten. Dient als Eingabemaske für einige Werte. Und in einem bestimmten Fall sollen halt keine Werte eingegeben werden dürfen.

Ich dachte man könnte beliebig Zeilen und Spalten sperren. So eine Routine wäre bereits implementiert. Andere Progger würden das auch häufiger nutzen.

Danke!!

Gruß

Volker

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Wie bei StringGrid bestimmte Zeile oder Spalte sperren?

Beitrag von Bora4d »

Est gibt viele Lösungen davon 2:
1. Sehr einfach
OnSelectEditor-Ereignis verwenden, z.B. für dich:

Code: Alles auswählen

procedure TForm1.StringGrid1SelectEditor(Sender: TObject; aCol, aRow: Integer;
  var Editor: TWinControl);
begin
  if (ACol=1) or (ARow=2) then Editor:=nil;
end;
2. EditorMode nur bei Bestimmten Zellen einschalten, dafür OnSelectCell-Ereignis verwenden-

Antworten