![]() |
StringGrid mittels Änderung von RowCount leeren
Hallo,
ich habe eine StringGrid, deren Zeilenanzahl (nicht FixRows) variabel sind. Nun baue ich z. B. 9 Zeilen auf und beschreibe sie mit Text, danach werden die Zeilen mittels
Delphi-Quellcode:
wieder geleert.
procedure TEinstellungenForm.StringGrid_leeren;
begin //alle Zellen leeren und auf eine Leerzeile beschränken StringGrid_Datenbanken.RowCount := StringGrid_Datenbanken.FixedRows + 1; StringGrid_Datenbanken.Cells[0, 1] := ''; StringGrid_Datenbanken.Cells[1, 1] := ''; //StringGrid disablen StringGrid_Datenbanken.Enabled := false; end; Nach dem Leeren werden nur noch 4 Zeilen aufgebaut und 3 davon mit Text beschrieben. Mein Problem ist nun, dass die 4. Zeile noch den Text vor dem Löschen enthält, anstatt keinen Inhalt zu haben. Eigentlich dachte ich dass die Änderung von RowCount der StringGrid alle alten Zeilen löscht. Nur ist dem nicht so. Wie kann ich alle Zeilen löschen und dann neu (mit leerem Inhalt) wieder aufbauen? |
Re: StringGrid mittels Änderung von RowCount leeren
Delphi-Quellcode:
Ungetestet, sollte aber stimmen.
//alle Zellen leeren und auf eine Leerzeile beschränken
for i := Pred(StringGrid_Datenbanken.RowCount) downto StringGrid_Datenbanken.FixedRows do StringGrid_Datenbanken.Rows[i].Clear; StringGrid_Datenbanken.RowCount := StringGrid_Datenbanken.FixedRows + 1; |
Re: StringGrid mittels Änderung von RowCount leeren
Danke Danke!
funktioniert prima! :-D |
Re: StringGrid mittels Änderung von RowCount leeren
andersrum (also erst kürzen und den Rest leeren geht vielleich schneller)
Delphi-Quellcode:
oder, da nur noch eine Zeile übrig bleibt
StringGrid_Datenbanken.RowCount := StringGrid_Datenbanken.FixedRows + 1;
for i := StringGrid_Datenbanken.RowCount - 1 downto StringGrid_Datenbanken.FixedRows do StringGrid_Datenbanken.Rows[i].Clear;
Delphi-Quellcode:
StringGrid_Datenbanken.RowCount := StringGrid_Datenbanken.FixedRows + 1;
StringGrid_Datenbanken.Rows[StringGrid_Datenbanken.FixedRows].Clear; |
Re: StringGrid mittels Änderung von RowCount leeren
Wenn ich mich recht entsinne, ist es bei diesem blöden StringGrid wirklich nötig, alle einmal belegten Zeilen manuell zu leeren, da sonst der alte Inhalt wieder zum Vorschein kommt, solange sie nicht neu befüllt werden.
|
Re: StringGrid mittels Änderung von RowCount leeren
Zitat:
Ich dachte ja zuerst ich könne mit meiner Procedure oben das komplette StringGrid leeren (bis auf die fixen Zeilen). Aber leider ist dem nicht so. |
Re: StringGrid mittels Änderung von RowCount leeren
Meiner persönlichen Meinung nach ist TStringGrid auch die Komponente, die in der gesamten IDE am wenigsten zu gebrauchen ist.
|
Re: StringGrid mittels Änderung von RowCount leeren
oh sch****, hast Recht, das kommt wieder :shock:
na dann geht es leider nicht so :? |
Re: StringGrid mittels Änderung von RowCount leeren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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