Schönen guten Morgen!
Ich habe zwei DGV's auf meiner Form und lasse die Daten einer Tabelle im erste DGV anzeigen. Nun möchte ich die jeweils dazugehörigen Datensätze der 2. Tabelle im zweiten DGV anzeigen, aber da habe ich gerade ein kleines Problem. Ich hatte es so vorgehabt, dass bei jedem Wechsel der Zeile im ersten DGV, eine Methode ausgeführt wird, die eine DataTable mit den dazugehörigen Datensätzen erstellt und an das zweite DGV bindet.
Nun habe ich mir gedacht, dass ich im "SelectionChanged" - Ereignis, die jeweilige ID auslese, aber dabei bekomme ich den Fehler, dass der Index außerhalb des Bereichs liegt.
Mein Ereignis sieht so aus:
private void dgvMain_SelectionChanged(object sender, EventArgs e)
{
string sID = dgvMain.SelectedRows[0].Cells[0].Value.ToString();
MessageBox.Show(sID);
}
Habt ihr vielleicht einen Tipp für mich? Danke schonmal!
Gruß
Echo
versuchs mal mit:
lb_status.Text = GridView1.SelectedValue.ToString();
das mit selected rows kannste inne tonne haun
(milde ausgedrückt)
// EDIT:
ein debug ergibt, dass bei dem ersten select die "selectedRow" -1 ist... danach is die SelectedRow-Eigenschaft immer der index der vorher ausgewählten zeile...
Does Visual Studio Rot the Mind?
hmm.. nee.. hatte das schon öfter..
deswegen benutz ich nie "SelectedRow" ... 😉
// EDIT:
wozu debuggen, wenn man vorher weiss was rauskommt?
*grinz*
Does Visual Studio Rot the Mind?
Also, die "SelectionMode" habe ich schon auf "fullrowselect" stehen.
schon mit
GridView.SelectedValue;
probiert?
Does Visual Studio Rot the Mind?
Da ich meine DataTable an ein BindingSource binde, habe ich es jetzt mit dem BindingSource Event "PositionChanged" gelöst!
Ich meine es klappt zwar jetzt, aber ist das aus eurer Sicht zu empfehlen oder nicht?
Danke für eure Hilfe!
Gruß
Echo
Ich wunder mich a weng, daß dir keiner mit Databinding kommt. Weil issn klassischer Parent-Child-View, und da muß man nicht das Rad neu erfinden, sondern radeln lernen.
Kannst dir mal "Datenbank in 10 Minuten" angucken. Ist zwar VB, aber den Datenbinde-Kram erledigt man im Designer, den auch c# verwendet.
Der frühe Apfel fängt den Wurm.
öhm.. ich schliees mich meinem vorredner an.. und sage "no comment" zum sog. designer...
Does Visual Studio Rot the Mind?
na, weiler direkt gefragt hat
... ist das aus eurer Sicht zu empfehlen oder nicht?
Der frühe Apfel fängt den Wurm.
warte.. öhm...
ironie [on]
nein.. eigentlich kann ich gar nicht programmieren und nutze deshalb designer, klicke mir irgendwas zusammen und habe für jedes steuerelement nur einen anwendungsbereich
ironie [off]
hmm.. "herummurkeln" geht nur wenn man von dem was man tut keine anung hat...
soll ich meine gedankengänge jetzt noch näher ausführen?
und:
JA es ist in jedem fall besser am code "herumzumurkeln" als n wysiwyg-editor zu benutzen.. gibt son wort.. nennt sich lerneffekt 😉
(auch learning by doing..)
abgesehen davon...
ich seh nichts von empfehlungen oder darauf bezogene antworten..
hab ich was verpasst?
bin ich noch im selben thread?
Does Visual Studio Rot the Mind?
bin ich noch im selben thread?
Irgendwie nicht. will sagen: wir sind ordentlich off Topic.
Aber ich halte die Designer-Diskussion für wichtige Grundsatzdiskussion.
abgesehen davon...
ich seh nichts von empfehlungen oder darauf bezogene antworten..
Also ich habe eine Frage nach Empfehlungen gelesen, und empfohlen, Databinding anzuwenden, und ein Tut verlinkt, wos darum geht, Databinding in Designern einzurichten.
Der frühe Apfel fängt den Wurm.
genau! back to the topic oder besser gesagt zu der letzten frage:
Da ich meine DataTable an ein BindingSource binde, habe ich es jetzt mit dem BindingSource Event "PositionChanged" gelöst!
Ich meine es klappt zwar jetzt, aber ist das aus eurer Sicht zu empfehlen oder nicht?
ich kenne eigendlich kaum anwendungsfälle, wo man databinding vermeiden sollte. allgemein ist das eigendlich eine recht gute sache.