Datagrid in UserControl Zeile hinzufügen von Form aus

pogoist

Grünschnabel
Hallo zusammen,

ich habe ein Usercontrol mit einem Datagridview Steuerelement. Dieses möchte ich mit Daten füllen und zwar aus einer anderen Form heraus.

Ich habe es folgendermaßen probiert

Meine Form:

Code:
Dim myCtrl AS New uc_dataview

'  myCtrl.DataGridView1.Rows.Add(rowObject)

myCtrl.DataGridView1.Rows.Add("Hans","Müller","Musterstraße","4","Musterhausen")

myCtrl.DataGridView1.Rows.Update

Aber im DataGridView auf dem UC erscheinen die Daten nicht...

Ich habe die Vermutung, weil ich das UC als neues Objekt instanziere. Keine Ahnung wie es anders gehen soll.

Danke schonmal im vorraus.
 
Hi

Ich nehme mal, du hast das UserCtrl per Designer deiner Form hinzugefügt. Dabei solltest du ja auch einen Namen vergeben haben (oder das wurde vom Designer gemacht).
Und auf dieses Control musst du zugreifen. Wenn du ein neues instanzierst so wie im von dir geposteten Code arbeitest du auf einem anderen Control, dass nicht auf der Form liegt und du dadurch auch keine Änderungen siehst.
 
Das UC wird über die Hauptform geladen und über die andere Form neu instanziert. Das ist mein Problem, ich hab keine Ahnung, wie ich auf die schon laufende Instanz zugreifen kann. Da fehlt es mir noch an .NET Verständnis. Bin erst kürzlich umgestiegen.
 
Irgendwie hilft mir das nicht weiter...
Ich weiß nicht, wie ich dem Datagridview die Zeile hinzufügen kann.

Mal anders, wie kann ich Funktionen im Usercontrol aufrufen? Sonst hätte ich im UC eine Funktion aufgerufen, die mir die entsprechenden Zeilen hinzufügt und welche die Werte von der zweiten Form bekommt.
 
Nabend

Ich versteh nicht ganz was du willst :confused:

Wenn du von außen (z.B. der Form) auf das UserControl zugreifen willst, musst du im UserControl ein Methode (public) implementieren, die diese Aufgabe übernimmt.
Alternativ kannst du den DataGridView auch public setzen, das ist aber unschön (Stichwort: Kapselung)
 
Zurück