Hi,
nachdem ich bereits ein anderes Problem hatte (
www.c-sharp-forum.de/viewtopic.php?t=82249 ) habe ich versucht, zusätzlich zum DGV noch ein DS zu benutzen und von dort die Daten anzeigen zu lassen.
Allerdings bin ich auch hier wieder auf ein seltsames Problem gestoßen, welches ich mir nicht erklären kann und welches ich somit auch nicht lösen kann.
Ich habe 2 Stellen, wo Daten in das DS kommen können. Zum einen über ein Formular, zum anderen über bereits vorhandene Daten in einer externen Datenbank.
In beiden Fällen werden alle einzelnen Daten in einem Struct zusammengefasst und dann zum einfügen in die DS übergeben:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void insPos(AngPositions posData) { DataRow dr = dataTablePos.NewRow(); dr["Pos"] = posData.PosNumber; dr["Besch"] = posData.Text; dr["Masse"] = posData.Menge.ToString("#,##0.00; -#,##0.00;0.00", cult); dr["Einheit"] = posData.Einheit; dr["EP"] = posData.EP.ToString("#,##0.00; -#,##0.00;0.00", cult); dr["GP"] = posData.GP.ToString("#,##0.00; -#,##0.00;0.00", cult); dr["PosID"] = posData.id.ToString();
dataTablePos.Rows.Add(dr); dataTablePos.AcceptChanges(); } |
Ich würde eigentlich erwarten, dass in beiden Fällen das gleiche passiert, da ich ja die selbe Funktion verwende, aber dies ist leider nicht der Fall.
Wenn ich mir die Daten über mein Formular hole, dann werden die einzelnen Zeilen nach dem Aufruf von dataTablePos.Rows.Add(dr); sowohl in das DS als auch in das DGV eingefügt und angezeigt.
Habe ich die Daten aber vorher aus ner Datenbank bekommen, dann fügt dataTablePos.Rows.Add(dr); die Daten aber nur in das DS ein.
Im Debugger kann man das gut beobachten, da ich mir einen Watch auf rowcount vom DGV und DS gesetzt habe.
Woran kann sowas denn bitte liegen und wie kann ich das DS dazu bringen, die Daten an das DGV zu geben? Oder Gibt es eine Möglichkeit, vom DGV aus, das DS auszulesen?