DataGridView befüllen

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von HerrFrie.

    DataGridView befüllen

    Hallo,

    ich habe ein DataGrid View wie befülle ich das mit Zeilen aus meiner DB.

    con.Open()
    cmd.CommandText = "select * from forecast"
    reader = cmd.ExecuteReader()
    reader.Read()

    DataGridView1 = reader("nr")


    reader.Close()
    con.Close()
    Nur das klappt nicht! Kann mir da jamend einen Tip geben?

    dnake
    Hallo

    Hier ein Beispiel mit DataGridView:

    VB.NET-Quellcode

    1. Imports System.Data.OleDb
    2. Public Class Form1
    3. Private dt As New DataTable
    4. Private da As OleDbDataAdapter
    5. Private ds As New DataSet
    6. Private bs As New BindingSource
    7. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    8. Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb;"
    9. Dim Con As New OleDbConnection(ConStr)
    10. ds.Tables.Add(dt)
    11. da = New OleDbDataAdapter("SELECT * FROM Tabelle1", Con)
    12. da.Fill(dt)
    13. Dim cb As New OleDbCommandBuilder(da)
    14. bs.DataSource = dt
    15. Me.DataGridView1.DataSource = bs
    16. End Sub
    17. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    18. If ds.HasChanges Then
    19. If MsgBox("Änderungen speichern?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo) Then
    20. bs.EndEdit()
    21. da.Update(ds.Tables(0))
    22. End If
    23. End If
    24. End Sub
    25. End Class
    Ja, das kann man.
    Entweder beim Select:
    "SELECT Spalte3, Spalte1, Spalte2 FROM Tabelle1"

    Oder:
    Spalte wird an 3. Stelle angezeigt
    Me.DataGridView1.Columns("DeinSpaltenname").DisplayIndex = 2

    Spalte wird an 1. Stelle angezeigt
    Me.DataGridView1.Columns("DeinSpaltenname").DisplayIndex = 0
    hey ich habe den code auf en button gelegt. wenn ich jetzt zweimal auf den button klick, ich will die infos aktualliesieren, kommt ne fehler meldung bei "ds.Tables.Add(dt)" das da die tabelle schon vorhanden ist. wie kann ich die infos aktualliesiren, das da keine fehlermeldung kommt.
    ahoi,

    @chris: das wirst du neu instanziieren müssen also muss da irgendwo ein new rein ;)

    @wincnc / Phillip: den spaltenindex mit dem spaltennamen anzugeben funzt im gridview nicht wirklich hab das als ich damit angefangen habe oft probiert und bin immer wieder gescheitert nutze also lieber die indizes der spalten als zahl die das läuft ohne probleme wenn du die indizes brauchst und in dem fall würd eich die methode in der select anwesung bevorzugen
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de

    VB.NET-Quellcode

    1. DataGridView1.Columns.Clear()
    2. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Programme\GeldInfo\geld.mdb;"
    3. cmd.Connection = con
    4. ds.Tables.Add(New DataTable)
    5. da = New OleDbDataAdapter("select Datum, Einnahmen, Ausgaben, Fürwas from 123_August", con)
    6. da.Fill(dt)
    7. Dim cb As New OleDbCommandBuilder(da)
    8. bs.DataSource = dt
    9. Me.DataGridView1.DataSource = bs

    ich hoffe doch du hast des gemeint.
    probiers mal so rum

    VB.NET-Quellcode

    1. da = new OleDbDataAdapter(...)
    2. da.Fill(ds, "deinTabellenName")
    3. dt = ds.tables("deinTabllenName")
    4. gridview.datasource = dt
    5. gridview.databind()
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de

    Manü schrieb:

    probiers mal so rum

    VB.NET-Quellcode

    1. da = new OleDbDataAdapter(...)
    2. da.Fill(ds, "deinTabellenName")
    3. dt = ds.tables("deinTabllenName")
    4. gridview.datasource = dt
    5. gridview.databind()


    da kommt ne fehler meldung bei bindings

    HerrFrie schrieb:

    @Chris213
    Wenn du als erste Zeile bei deinem Button

    VB.NET-Quellcode

    1. ds.clear

    schreibst, sollte das mit dem Aktualisieren auch klappen.


    ne geht net es fügt immer noch dazu