![]() |
Advstringgrid - Zeilen ausblenden
Hallo
ich erzeuge hiermit in einem Advstringgrid in dergesamten ersten Spalte eine Checkbox:
Delphi-Quellcode:
Nun möchte ich die Zeilen mit gecheckten Boxen ausblenden, das mache ich so:
for i := 1 to advstringgrid1.RowCount - 1 do
advstringgrid1.AddCheckBox(0, i, false, false);
Delphi-Quellcode:
Mein Problem ist, dass damit immer die letzte Zeile nicht ausgeblendet werden kann, manchmal auch andere Zeilen.
procedure TForm1.Button11Click(Sender: TObject);
var i, x2: integer; state: boolean; begin for i := 1 to AdvStringGrid1.RowCount - 1 do begin if Advstringgrid1.GetCheckBoxState(0, i, state) then begin if state then begin AdvStringGrid1.SetCheckBoxState(0, i, false); for x2 := 0 to AdvStringgrid1.ColCount - 1 do AdvStringGrid1.HideRow(i); end; end; end; end; Seht ihr meinen Fehler? Wenn ich immer die letzte Zeile lösche dann klappts. gruss vom capo |
Re: Advstringgrid - Zeilen ausblenden
Hi Capo,
eigentlich ganz simpel - wenn ich auch kurz gestutzt habe... probier es mal mit folgender Zeile
Delphi-Quellcode:
Nach jedem "hide" ändert sich "von oben" betrachtet der Index. Und damit werden nach unten hin die "hides" immer 'falscher' ;-)
for i := AdvStringGrid1.RowCount-1 downto 1 do
begin ... end; Dagegen hilft: von hinten anfangen ;) Grüße! Michael |
Re: Advstringgrid - Zeilen ausblenden
Hallo Michael,
danke für deine Hilfe. irgendwie haut das aber auch noch nicht hin. Die letzte Zeile bleibt immer noch stehen. grüsse capo |
Re: Advstringgrid - Zeilen ausblenden
Zitat:
was ich nicht ganz verstehe ist der obige Codeschnippsel :gruebel: Das sieht für mich doch so aus, dass du die gesetzte(=gecheckde) Box auf ungecheckt setzt (???) Und was soll die 2.Schleife mit ColCount???? :gruebel: Du willst doch 'nur' die gecheckten Zeilen unsichtbarmachen oder? Geht das nicht einfacher, so vllt:
Delphi-Quellcode:
Ich kenne den AdvStringGrid (noch) nicht, von daher ist es nur ein Lösungsansatz...
for i := AdvStringGrid1.RowCount-1 downto 1 do
begin Advstringgrid1.GetCheckBoxState(0, i, state); if state then AdvStringGrid1.HideRow(i); end; |
Re: Advstringgrid - Zeilen ausblenden
Hallo,
ja stimmt. Ich hatte einen Denkfehler. Merke auch das ich völlig falsch angefangen habe, mein Problem ist doch ein ganz anderes. Muss dafür aber einen neuen Thread aufmachen. gruss capo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 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