MedusTv Geschrieben 22. Januar 2019 Geschrieben 22. Januar 2019 Imports System.IO Public Class Form1 Public ListeGesamt As New List(Of zeilegesamt) Public DataSource_Listegesamt As List(Of zeilegesamt) Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim dateiname = "D:\source\repos\Testmappe\np.txt" For Each zeile As String In IO.File.ReadLines(dateiname) Dim fach As String() = Split(zeile, ";") Dim zeilegesamt As New zeilegesamt(fach) Dim noten As String() = Split(fach(1), ",") Dim anzahl As Int32 = noten.Count() Dim notensumme As Int32 = 0 For Each note In noten notensumme = notensumme + CInt(note) Next zeilegesamt.Durchschnitt = (notensumme / anzahl).ToString ListeGesamt.Add(zeilegesamt) Next DataGridView1.DataSource = ListeGesamt DataSource_Listegesamt = New List(Of zeilegesamt)(ListeGesamt.ToList) DataGridView1.Columns(2).ReadOnly = True DataGridView1.Columns(1).Width = 300 Me.Width = DataGridView1.Width End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim objDateiMacher As IO.StreamWriter objDateiMacher = New StreamWriter("D:\source\repos\Testmappe\np.txt", True) vbNewLine.ToString() objDateiMacher.WriteLine(TextBox1.Text + ";0") objDateiMacher.Close() objDateiMacher = Nothing TextBox1.Text = "" MsgBox("Die Zeile wurde Hinzugefügt") End Sub End Class Wie bekomme ich es hin das bei Button1 hinter MsgBox Das DataGridView Aktualisiert wird? Ich hab schon versucht den Code von Form1_Load rein zu kopieren allerdings wird der irgendwie übersprungen Zitieren
arlegermi Geschrieben 23. Januar 2019 Geschrieben 23. Januar 2019 vor 12 Stunden schrieb MedusTv: allerdings wird der irgendwie übersprungen Bitte nutze die Gelegenheit jetzt und bring' dir bei, den Debugger zu benutzen. "Irgendwie übersprungen" ist nichts, womit man dir wirklich helfen kann. Es hilft in solchen Fällen immer, zu beschreiben, was du zur Fehlerdiagnose bereits getan hast und welche Fehlermeldungen (genauer Text) du wann/wo siehst. Aus dem Code, den du bisher gezeigt hast, ist nicht ersichtlich, wieso das DataGridView nicht aktualisiert werden sollte - sofern du den richtigen Code kopiert hast. (Auch hier zeigt sich, dass es hilfreich ist, wenn du genau beschreiben kannst, was du bereits gemacht hast. Vielleicht hast du beim Kopieren was vergessen oder an die falsche Stelle kopiert, ...) Code zu kopieren ist an sich schonmal der falsche Ansatz. Du solltest das Befüllen des DataGridViews in eine eigene Methode auslagern, die sich nur darum kümmert. Dann würdest du nach der MsgBox einfach diese Methode aufrufen und es sollte sich genauso verhalten wie in Form_Load. Zitieren
Whiz-zarD Geschrieben 24. Januar 2019 Geschrieben 24. Januar 2019 vor 23 Stunden schrieb arlegermi: Bitte nutze die Gelegenheit jetzt und bring' dir bei, den Debugger zu benutzen. "Irgendwie übersprungen" ist nichts, womit man dir wirklich helfen kann. Es hilft in solchen Fällen immer, zu beschreiben, was du zur Fehlerdiagnose bereits getan hast und welche Fehlermeldungen (genauer Text) du wann/wo siehst. Um das noch weiter auszuholen: Der Grund, warum der Code "Übersprungen" wird, ist, dass irgendwo in der Form1_Load()-Methode eine Exception fliegt, die intern vom Framework abgefangen wird. Am besten, du aktivierst beim Debugger alle Exceptions (Debuggen -> Fenster -> Ausnahmeeinstellungen), um zu sehen, was das Problem ist. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.