Laden...

Werte aus DataGridView Schleife durchlaufen lassen.

Erstellt von 55Flo55 vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.253 Views
5
55Flo55 Themenstarter:in
37 Beiträge seit 2010
vor 13 Jahren
Werte aus DataGridView Schleife durchlaufen lassen.

Hallo zusammen
ich habe folgendes Problem:

Ich habe eine DataGridView auf meiner Form1 platziert und mit Werte gefüllt.

Nun würde ich gerne die Werte (spalte für spalte) in einer Messagebox ausgeben.

z.b. wenn ich folgende Tabelle habe

Interpet          Titel
Jasper Forks      River Flows  in you
Edward Maya       Stereo Love

Dass ich dann in der Messagebox angezeigt bekomme
"Interpret: Jasper Forks Titel: River flows in you"

Und in der nächsten Messagebox dann
"Interpet: Edward Maya Titel: Stereo Love"

Wie kann ich dass nun in eine Schleife koppeln?

Mein Versuch.

foreach (object lieder in dataGridView1........)
            {
                MessageBox.Show(lieder.ToString());
            }

Jedoch funktioniert das nicht so recht....??

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

wenn du Datenbindung verwendest und dabei eine Modell-Klasse wie


public class Song
{
    public string Interpret { get; set; }
    public string Titel { get; set; }
}

hast und dazu noch die ToString-Methode überschreibst ist die Aufgabe trivial 😉

Also verwende Datenbindung.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

5
55Flo55 Themenstarter:in
37 Beiträge seit 2010
vor 13 Jahren

Bevor ich meine code jetzt ganz umstelle, ist es nicht möglich mein vorhaben eine Schleife durchlaufen zu lassen?

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

es geht schon wenn du dir die DataGridViewRow holst und dann über die Columns iterierst und so den Ausgabestring zusammenbaust.

Sauberer ist aber die Lösung mit Datenbindung.
Wenn du auch dieses Projekt nicht mehr ändern willst beginne das nächste gleich richtig 😉

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

5
55Flo55 Themenstarter:in
37 Beiträge seit 2010
vor 13 Jahren

Und wie sieht das nun in der Praxis aus..

Ich weiß, dass man eigentlich nicht nach Codebeispielen fragen sollte, ich hoffe sie sehen das nicht so streng...

Ich habe meine foreach schleife. ein object erstellt, aber worauf soll das objekt nun zugreifen?

foreach (object wert in .......) 
{
       MessageBox.Show(wert.ToString());
}
6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

ich hoffe sie sehen

Wenn schon "sie" verwendet wird sollte es groß geschrieben werden -> "Sie".
Aber ich ziehe "du" vor.

Ich habe meine foreach schleife. ein object erstellt, aber worauf soll das objekt nun zugreifen?

Siehe oben -> hole die DataGridViewRow und guck in die :rtfm:
Wie füllst du überhaupt das DataGridView? Kannst du nicht mit diesen Werte arbeiten?

Die Werte müssen ja nicht unbedingt mit Datenbindung in das DGV kommen, aber die Trennung von Logik und Darstellung sollte unbedingt durchgeführt werden. Nicht weil es hier immer so geschrieben wird, sondern weil es einfach praktischer ist. Du (oder soll ich Sie schreiben) siehst ja selbst dass du bei der Vermischung von UI und Logik nur Probleme hast. Diese treten bei der Trennung von UI und Logik erst gar nicht auf. Von daher ist dieser Rat - und wenn er noch so oft kommt - einer aus der Praxis und sollte auch beherzigt werden.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

5
55Flo55 Themenstarter:in
37 Beiträge seit 2010
vor 13 Jahren

Danke für die Hilfe,
dann werde ich mir das mal angucken 😃

Ok, einigen wir uns auf Du 😃