Laden...

DataGridView refresh/update Problem im eigenen UserControl

Erstellt von Lestan vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.385 Views
L
Lestan Themenstarter:in
11 Beiträge seit 2013
vor 10 Jahren
DataGridView refresh/update Problem im eigenen UserControl

Hallo,

ich hab ein Datagrid in meiner Form was ich während der Laufzeit immer wieder mit neunen Daten Fülle und zur Anzeige bringe. Dies funktioniert soweit problemlos.
Nun hab ich aber mein DataGrid in ein einges UserControl augelagert und die Werte werden nur noch bei der ersten Initialisierung durch den Konstruktor geschrieben
(habe ich mal als Test so ausgeführt) und anschliessend wenn ich die Daten neu schreiben will eben nicht mehr. Also die Daten werden von der Form an mein
UserControl übergeben welches u.a. das DataGridView beinhaltet um diese Daten zur Anzeige zu bringen.

Ich hab nun schon 1 1/2 Tage google befragt mit vielen vielen Lösungen aber leider hab ich für mein Problem noch nichts gefunden bzw konnte noch nichts umsetzen
was auch funktioniert hat. Also ich möchste zb das nicht unbedingt extra über einen SQL-Server mit den TableAdapter updaten müssen (was man viel findet) nur
um das DataGridView zu aktualliseren.

Auch hab ich zb folgenden Möglichkeit mit eine BindingSource getestet: Auslösen von Änderungsbenachrichtigungen mithilfe der ResetItem-Methode einer BindingSource

was leider auch nur in der Form funktioniert aber nicht in meinen eigenen UserControl.

Ich denke ich muss mich noch auf irgendein Ereignis registrieren aber zb auf welches?

Weiss jemand Rat weil ich bin grad fast am verzweifeln ?

Grüße,
Lestan

L
Lestan Themenstarter:in
11 Beiträge seit 2013
vor 10 Jahren

Ich glaube ich hab nun doch eine Antwort gefunden zu meine Problem:

Datagridview in Usercontrol

Gerade das Bsp. im Link selber getestet und es Funktioniert.

Man muss seine Daten eine DataRow und DataColumn übergeben und diese dann
eine DataTable hinzufügen. Die DataTable wird dann als Datenquelle der DatagridView übergeben.


DataTable dt = new DataTable();
DataRow newRow;
DataColumn dc;

dc = new DataColumn("OwnColumnName");
dt.Columns.Add(dc);

newRow = dt.NewRow();
newRow["OwnColumnName"] = "testrow values";

dataGridView1.DataSource = dt;

T
156 Beiträge seit 2012
vor 10 Jahren

Hallo Lestan,

ganz klar ist mir Dein Problem nicht geworden. Wirklich gut ist es in meinen Augen nicht beschrieben.
Wie hast Du die Daten denn an Dein UserControl übergeben? An eine Property oder public Methode?

Aber wenn Du jetzt einen Weg gefunden hast konntest Du Dir ja helfen.

Viele Grüße,
telfa