Autor Beitrag
Talemantros
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 444
Erhaltene Danke: 2

Win7 Proff 64bit
C# (VS2013)
BeitragVerfasst: Sa 13.12.14 19:41 
Hallo,
ich hätte da mal wieder einen :-)

Also ich habe ein DataGridView welches wie folgt gefüllt wird:

ausblenden C#-Quelltext
1:
            dgvMachineForProcessStep.DataSource = MachineMethods.GetDataTableAllMachines();					


Die Mthoede dahinter liest die Daten aus der MySQL Datenbank aus und gibt sie als DataTable zurück.

Nun möchte ich dort Daten hinzufügen lassen, aber diese werden nie wieder irgendwo gespeichert.
Es geht nur um Anzeigezwecke.

Das hinzufügen habe ich folgendermaßen probiert.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
        private void btnSpeichern_Click(object sender, EventArgs e)
        {
            string[] row = new string[] { "55""Test"};
            dgvMachineForProcessStep.Rows.Add(row);

        }


Die Meldung ist, dass keine Daten zu diesem Steuerelemtn hinzugefügt werden können, wenn es Datengebunden ist.

Kann mir da jemand eine Hilfestellung geben?

Danke

Gruß
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Sa 13.12.14 21:33 
Hi,

du musst die Row in deine Tabelle einfügen!

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
DataTable dt = MachineMethods.GetDataTableAllMachines();

DataRow newRow = dt.NewRow();

dr["Header1"] = "Irgend was";
dr["Header2"] = "usw....";

dt.Rows.Add(newRow);

dgvMachineForProcessStep.DataSource = dt;



So in etwa geht das. Der Code ist nicht getestet, habe ich nur hier getippt!


EDIT: Daten werden nie in eine DataGridView gefrickelt, immer in die Datenquelle!

_________________
Gruß
Christoph


Zuletzt bearbeitet von Christoph1972 am Sa 13.12.14 21:41, insgesamt 3-mal bearbeitet
Talemantros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 444
Erhaltene Danke: 2

Win7 Proff 64bit
C# (VS2013)
BeitragVerfasst: So 14.12.14 11:27 
Hallo,
danke Christoph für deine Erklärung.
Ich hatte vergessen zu erwähnen, dass das DataTable beim Start gefüllt wird aber beim hinzufügen eventuell nichtmehr den Zustand hat wie beim Füllen.
Daher müsste ich um deinen Ansatz zu folgen erst aus dem DataGridView ein DataTable machen.

Ich habe es nun doch etwas anders gelöst und habe eine Klasse gemacht der anzuzeigenden Daten.
Diese über eine Methode aus der Datenbank ausgelesen und über eine BindingSource an das Grid gebunden.

Nun füge ich Daten der BindingSource hinzu und es funktionert.

Sorry hätte mir auch gleich einfallen können.

Dadurch ergibt sich zwar jetzt ein anderes Problem aber da schaue ich mal wie ich das lösen könnte.

Vielen Dank

GRuß