datagrid zeile maximum

theplake

Erfahrenes Mitglied
Hi

Ich möchte ein bestimmte Spalte mit allen Zeilen auslesen und wo anders eintragen.

Das Problem ist die Zeilen varrieren in der Anzahl.Wie schaffe ich es immer das maximum der Zeilen auszulesen?

Hier ein Code Schnipsel:
Code:
for (int x = 1; x <= dataGridView1->CurrentCell->Value; x++)
                {
                x++;
                String ^inhalt = dataGridView1[0,x]->Value->ToString();
                aTable->AddCell(inhalt, Point(x,0));

Das klappt noch nicht so ganz
Wenn ich es so eintrage:
Code:
dataGridView1->Columns->Count["name der spalte"].MaxValue;
Nimmt er nur jede zweite Zeile.
 
Hi

Ich möchte ein bestimmte Spalte mit allen Zeilen auslesen und wo anders eintragen.

Das Problem ist die Zeilen varrieren in der Anzahl.Wie schaffe ich es immer das maximum der Zeilen auszulesen?

Hier ein Code Schnipsel:
Code:
for (int x = 1; x <= dataGridView1->CurrentCell->Value; x++)
   {
                x++;
                String ^inhalt = dataGridView1[0,x]->Value->ToString();
                aTable->AddCell(inhalt, Point(x,0));
   }

Warum wird x mit 1 initialisiert? (Soviel ich weiß fängt es beim dataGridView mit dem Index 0 an!)

Du hast hier eine for-Schleife in dem Schleifenkopf gibst du an das der Wert von x sich bei jedem Durchlauf um eins vergrößern soll.

Warum vergrößerst du dann in der Schleife (und das bevor du den Wert der zelle hast) den Inhalt der Variable x? (die wird doch schon automatisch bei jedem Durchgang erhöt!) Damit kannst du erklärt sich auch warum jeder zweiter Eintrag genommen wird!

Würde jetzt noch gern den Code umschreiben aber habe im Moment keine Zeit, wenn abends (ca. 23:00 Uhr) das Problem noch immer besteht kann ich mich mal versuchen!

Es sieht fast so aus als ob du C++/CLI Programmiert, wenn ja dann gehört dieser Thread in .NET->Windows Forms Forum!

Gruß
Rudolf Grauberger
 
ja das x++; gehört da auch nich hin.Überbleisel von nem Versuch.

Wäre schön wenn du mir dabei helfen könntest.Also mit Rows->Count kann ich zwar sehen wieviel zeilen maximal dort sind doch weiss ich nicht das richtig einzubauen damit es so klappt wie ich es will.
 
Hey,

Sorry das es doch später geworden ist, mein Rechner (alter ca. 4-5 Jahre) ist kurz vom Abkratzen und bleibt beim Debuggen immer hängen und um Fehler zu finden ist das nicht so hilfreich.

Wäre schön wenn du mir dabei helfen könntest.Also mit Rows->Count kann ich zwar sehen wieviel zeilen maximal dort sind doch weiss ich nicht das richtig einzubauen damit es so klappt wie ich es will.

Wenn du weißt das du mit RowCount (nicht Rows->Count verwenden, Grund*) die Anzahl der Zeilen ermitteln kannst dann kannst du das ja als ober Grenze setzen. (Achtung: RowCount liefert die "echte" Anzahl der Zeilen und in dataGridView fängt der Index mit 0 an, deswegen RowCount -1).

Was ist aTable, auch ein dataGridView oder ein TableLayoutPanel oder ....?

Ich habe diesen Code mit ner ListBox ausprobiert:

C++:
for(int x = 0; x < dataGridView1->RowCount-1; ++x){
    String ^inhalt = dataGridView1[0, x]->Value->ToString();
    listBox1->Items->Add(inhalt);
}

gekürzt:

C++:
for(int x = 0; x < dataGridView1->RowCount-1;++x)
    listBox1->Items->Add(dataGridView1[0, x]->Value->ToString());

Für dein Element (aTable) müsstest du nur das ListBox->Items->Add durch aTable->AddCell(....) ersetzen.

Wenn es nicht so einfach gehen sollte, dann sag mal was aTable ist und ich versuch mich nochmals dran.

Hoffe dir damit etwas geholfen zu haben.

Gruß
Rudolf Grauberger

* In der Hilfe steht folgendes dazu:

Hinweis: Diese Eigenschaft ist neu in .NET Framework, Version 2.0.


Diese Eigenschaft unterstützt die .NET Framework-Infrastruktur und ist nicht für die direkte Verwendung in Code bestimmt.
Ruft die Anzahl der Zeilen in der Auflistung ab.
 
Zuletzt bearbeitet:
Super es hat geklappt!!

Danke das du dir noch so spät mühe gemacht hast.Ja das aTable gehört zu einer Table die ich im Pdf erzeuge.Komisch ich hatte das auch so probiert nur halt immer ohne -1.

Nochmals vielen Dank!
 
Zurück