StringGrid - Zelle einen Wert hinzufügen
-
hi,
häng seit stunden an einem problem.
Ich möchte in einem StringGrid eine neue Zeile hinzufügen, das geht auch, aber wenn ich in die neue zeile werte schreiben will passiert nichts.Mein Code
StringGrid1->RowCount += 1; for (int i = 0; i < StringGrid1->RowCount; i++) { StringGrid1->Cells[0][StringGrid1->RowCount] = LabeledEdit2->Text; StringGrid1->Cells[1][StringGrid1->RowCount] = LabeledEdit3->Text; StringGrid1->Cells[2][StringGrid1->RowCount] = LabeledEdit4->Text; StringGrid1->Cells[3][StringGrid1->RowCount] = LabeledEdit5->Text; }
Wenn ich danach den code nochmal ausführe stehen die werte drin allerdings sind 2 leere Zeilen dazwischen.
Ich verstehs nicht mehr, hab alles mögliche probiert, die FAQ abgegrast usw. nichts zu machen...
Toadie
-
ups jetzt hab ichs *eek* allerdings ist jetzt immer eine leere Zeile am ende der Liste da, ist aber net unbedingt schlimm.
Hier meine Lösung:
StringGrid1->RowCount += 1; for (int i = 0; i < StringGrid1->RowCount; i++) { StringGrid1->Cells[0][StringGrid1->RowCount - 2] = LabeledEdit2->Text; StringGrid1->Cells[1][StringGrid1->RowCount - 2] = LabeledEdit3->Text; StringGrid1->Cells[2][StringGrid1->RowCount - 2] = LabeledEdit4->Text; StringGrid1->Cells[3][StringGrid1->RowCount - 2] = LabeledEdit5->Text; }// for
danke trotzdem
-
Ist doch logisch mit der leeren Zeile, RowCount - 2 bedeutet nun mal "vorletzte Zeile".
Immer dran denken, dass man bei Indizes üblicherweise bei Null zu zählen beginnt, nicht bei Eins. Bei einem RowCount von 5 ist somit Cells[x][4] eine Zelle in der letzten Zeile.
-
das is mir schon klar, nur wenn ich es mit -1 mache gehts net...weil von anfang an schon eine leere zeile drin ist die cih nciht weg bekomme
[ Dieser Beitrag wurde am 30.12.2002 um 01:09 Uhr von Toadie editiert. ]
-
Wenn schon eine leere Zeile drin ist, warum schreibst du nicht erstmal darein, anstatt noch eine Zeile anzuhängen?
Ansonsten: diesen FAQ-Beitrag hast du gesehen?
-
nein hab ich nicht gesehn...sieht aber gut aus. werd ich mir morgen ma genauer rein ziehn