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....??
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!"
Bevor ich meine code jetzt ganz umstelle, ist es nicht möglich mein vorhaben eine Schleife durchlaufen zu lassen?
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!"
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());
}
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!"
Danke für die Hilfe,
dann werde ich mir das mal angucken 😃
Ok, einigen wir uns auf Du 😃