![]() |
StringGrid und Spalte ausblenden
ein Hallo an die Runde,
Ihr habt mir bei fast allen Problemen gut Helfen können darum wage ich mal wieder eine neue Frage :zwinker: Ich habe ein StringGrid und möchte eine Spalte aus diesem Ausblenden. Stellt sich nur die Frage wie. :drunken: Mein derzeitiger Aufbau sieht so aus.
Delphi-Quellcode:
nun soll Spalte 5 und 7 ausgeblendet werden
procedure TMDIChild.SetzeGrid;
begin Sachverhaltsuebersicht.rowCount:=2; Sachverhaltsuebersicht.colCount := 10; Sachverhaltsuebersicht.cells[0,0] := 'Nr.'; Sachverhaltsuebersicht.cells[1,0] := 'Datum'; Sachverhaltsuebersicht.cells[2,0] := 'Zeit'; Sachverhaltsuebersicht.cells[3,0] := 'Objekt'; Sachverhaltsuebersicht.cells[4,0] := 'Name'; Sachverhaltsuebersicht.cells[5,0] := 'Vorname'; Sachverhaltsuebersicht.cells[6,0] := 'nummer'; Sachverhaltsuebersicht.cells[7,0] := 'zeichen'; Sachverhaltsuebersicht.cells[8,0] := 'Ausgang'; Sachverhaltsuebersicht.cells[9,0] := 'Begründung'; end; . . . procedure TMDIChild.grdArtikelDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var InhaltZelle: string; begin with (Sender as TStringgrid) do begin InhaltZelle := cells[acol, arow];// Zellinhalt in Variable auslesen canvas.fillrect(rect);// Zelle mit aktueller Hintergrundfarbe "übermalen" // 1. Spalte zentriert und mit Abstand nach oben if (acol = 0) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 2. Spalte zentriert und mit Abstand nach oben if (acol = 1) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 3. Spalte zentriert und mit Abstand nach oben if (acol = 2) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 4. Spalte zentriert und mit Abstand nach oben if (acol = 3) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 5. Spalte zentriert und mit Abstand nach oben if (acol = 4) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 6. Spalte zentriert und mit Abstand nach oben if (acol = 5) then canvas.textrect(rect, (rect.Left + rect.Right - canvas.textwidth(InhaltZelle)) div 2, rect.top + 3, InhaltZelle); // 7. Spalte linksbündig mit Abstand nach links und oben if (acol = 6) then canvas.textout(rect.left + 3, rect.top + 2, InhaltZelle); // 8. Spalte linksbündig mit Abstand nach links und oben if (acol = 7) then canvas.textout(rect.left + 3, rect.top + 2, InhaltZelle); // Alle anderen Spalten rechtsbündig mit Abstand nach rechts und oben if (acol > 7) then canvas.textrect(rect, rect.Right - canvas.textwidth(InhaltZelle) - 4, rect.top + 2, InhaltZelle); end; // von with end; // der Prozedur |
Re: StringGrid und Spalte ausblenden
Stelle die Breite der Spalten auf 0
|
Re: StringGrid und Spalte ausblenden
... Null?
... bei mir muss die Spaltenbreite auf -GridLineWidth eingestellt werden :wink: |
Re: StringGrid und Spalte ausblenden
:idea: warum bin ich denn nicht auf die Lösung gekommen? na klar
ick stand bestimmt auf der Leitung. DANKE :shock: |
Re: StringGrid und Spalte ausblenden
Hallo,
dann kann die Spalte aber trotzdem ausgewählt werden.
Delphi-Quellcode:
Schlecht ...
if (acol = 0) then
Benutze Variable für jede Spalte
Delphi-Quellcode:
Die ist entweder -1 (nicht anzeigen) oder hat einen Wert
if (acol = iNameCol) then
Jede Konstante bekommt noch eine Boolean-Var dazu
Delphi-Quellcode:
Die ColCount ergibt sich durch Prüfen der bXCol's
var
bNameCol: Boolean; Der Wert von iXCol's wird beim Start berechnet. Heiko |
Re: StringGrid und Spalte ausblenden
Zitat:
Von wem ausgewählt? Vom Anwender? |
Re: StringGrid und Spalte ausblenden
Heiko da hast du recht
mit der 0, habe ich gerade festgestellt. Aber war ein Ansatz auf den ich noch nicht mal gekommen bin. Dein Ansatz ist noch genauer und ich werde mal schauen wie ich ihn umsetzen kann. Muß mich da mal reindenken. Wenn ich nicht klar komme pin ich dich direkt an wenn ich darf. Danke schon mal im vorraus. Mit freundlichen Grüßen. |
Re: StringGrid und Spalte ausblenden
Hallo,
you are welcome ;) Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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-2025 by Thomas Breitkreuz