TStringGrid leeren
-
Schönen guten Tach!
Wie kann ich in einem TStringGrid alle Zelleninhalte aufeinmal löschen?
Hab bei den Methoden in der Hilfe nichts gefunden. Weiß jemand was?
-
for(int i=0;i<StringGrid1->RowCount;i++) StringGrid1->Rows [i]->Clear();
-
Spaltenweises Löschen ist meiner Meinung nach besser, vielleicht auch schneller. Ich habe mir in meinen Projekten dafür eine Funktion geschrieben:
void TIrgendeineKlasse::ClearStringGrid(TStringGrid *SGrid) { // Neuzeichnen des Grids verhindern SendMessage(SGrid->Handle, WM_SETREDRAW, false, 0); // spaltenweises Löschen for (int i = 0; i < SGrid->ColCount; i++) SGrid->Cols[i]->Clear(); SGrid->RowCount = 2; // Neuzeichnen des Grids wieder ermöglichen SendMessage(SGrid->Handle, WM_SETREDRAW, true, 0); SGrid->Invalidate(); }
-
Hatte ich schon mal geschwindigkeitstechnisch probiert.
Zeilenweises löschen geht erheblich schneller.(Abhängig von RowCount und ColCount)
-
Danke für eure Beiträge habe nur gehoft da gibts schon ne fertige funktion. Na ja, dann schreib ich halt ne schleife...