Zum Inhalt springen

[vb.net] DataGridView Aktualisieren


MedusTv

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...