![]() |
TStringgrid Zellen sperren
Hallo,
ich habe eine Frage zu der Komponete TStringgrid: Ist es möglich einzelne Zellen zu sperren, also das die nicht mehr selectiert werden können? So in der Art stringggrid1.cells[x,y].enabled:=false; //geht natürlich nicht :wink: |
Re: TStringgrid Zellen sperren
Hallo,
du kannst im Ereignis OnSelectCell() verhindern, dass eine Zelle besucht wird. Grüße vom marabu |
Re: TStringgrid Zellen sperren
Zitat:
hat das was mit der variablen CanSelect zu tun? aber wie kann ich die einsetzen? |
Re: TStringgrid Zellen sperren
Vielleicht so?
Delphi-Quellcode:
procedure TDemoForm.StringGridSelectCell(Sender: TObject; Col, Row: Longint; var CanSelect: Boolean);
begin CanSelect := not ((Col = x) and (Row = y)); end; |
Re: TStringgrid Zellen sperren
Also so richtig klappen tut das noch nicht. Mein Code:
Delphi-Quellcode:
Ich möchte, dass man in der Spalte 1 keine Zelle anwählen kann. Wie lässt sich das realisieren?
CanSelect := not (stringgrid1.Col = 1);
|
Re: TStringgrid Zellen sperren
Hat Achim doch geschrieben:
Delphi-Quellcode:
Grüße
procedure TDemoForm.StringGridSelectCell(Sender: TObject; Col, Row: Longint; var CanSelect: Boolean);
begin CanSelect := not (Col = 1); end; Klaus |
Re: TStringgrid Zellen sperren
Zitat:
[Pascal Fehler] Unit1.pas(96): E2003 Undefinierter Bezeichner: 'Col' |
Re: TStringgrid Zellen sperren
Kann aber nicht sein, da Col ganz klar einer der Methodenparameter ist ..
|
Re: TStringgrid Zellen sperren
Zitat:
Delphi-Quellcode:
Was kann ich denn jetzt machen..einfach dazuschreiben oder wie... :wiejetzt:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean); begin // CanSelect := not (Col = 1); // end; |
Re: TStringgrid Zellen sperren
Schreib das anstatt Col ACol dann sollte es gehen.
Grüße Klaus |
Re: TStringgrid Zellen sperren
OK jetzt kann ich das Programm compelieren, aber ich kann trotztem noch die Zelen in Spalte 1 anwählen.
Irgentwas stimmt da noch nicht so ganz, oder ich mache was falsch. Hier nochmal der Code:
Delphi-Quellcode:
Ich möchte ereichen, das man die Zellen in Spalte 1 nicht anwählen kann, aber ist es dann nicht eigentlich ein bisschen spät den Code im OnCellSelect zu schreiben ,denn dann ist ja schon eine Zelle ausgewählt , oder?
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean); begin // CanSelect := not (ACol = 1); // end; |
Re: TStringgrid Zellen sperren
Moin Marvin,
Dir ist aber klar, dass die Nummerierung der Spalten bei 0 anfängt? ;-) Ich habe nämlich den Verdacht, dass das, was Du als 1. Spalte ansiehst intern den Index 0 hat. |
Re: TStringgrid Zellen sperren
Zitat:
|
Re: TStringgrid Zellen sperren
Moin Marvin,
kann es sein, dass Du FixedCols auf 1 stehen hast? Dann kann man nämlich beim Programmstart die standardmässig ausgewählte Zelle bearbeiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz