Wert in Datagridview füllen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Wert in Datagridview füllen

    Moinsen,

    ich möchte einer Datagridview einen bestimmten Wert zuweisen. Habe herausgefunden es geht mit :

    VB.NET-Quellcode

    1. Tabelle1.Rows(0).Cells(1).Value = 5555


    Befüllt habe ich die DGV so:
    - 2 spalten mit "Wert" und "Spiel 1"
    - das alles kommt in die erste Spalte:

    VB.NET-Quellcode

    1. Me.Tabelle1.Rows.Add("Einser")
    2. Me.Tabelle1.Rows.Add("Zweier")
    3. Me.Tabelle1.Rows.Add("Dreier")
    4. Me.Tabelle1.Rows.Add("Vierer")
    5. Me.Tabelle1.Rows.Add("Fünfer")
    6. Me.Tabelle1.Rows.Add("Sechser")
    7. Me.Tabelle1.Rows.Add("Summe Oben")
    8. Me.Tabelle1.Rows.Add("Bonus")
    9. Me.Tabelle1.Rows.Add("Gesamt Oben")
    10. Me.Tabelle1.Rows.Add("")
    11. Me.Tabelle1.Rows.Add("Dreierparsch")
    12. Me.Tabelle1.Rows.Add("Viererparsch")
    13. Me.Tabelle1.Rows.Add("Full-House")
    14. Me.Tabelle1.Rows.Add("Kleine Straße")
    15. Me.Tabelle1.Rows.Add("Große Straße")
    16. Me.Tabelle1.Rows.Add("Kniffel")
    17. Me.Tabelle1.Rows.Add("Chance")
    18. Me.Tabelle1.Rows.Add("Gesamt Unten")
    19. Me.Tabelle1.Rows.Add("Gesamt Oben")
    20. Me.Tabelle1.Rows.Add("Gesamtpunktzahl")


    Problem: Irgendwie werden neue Werte a lá

    VB.NET-Quellcode

    1. Tabelle1.Rows(0).Cells(1).Value =

    nicht in rechts von der ersten Spalte, sondern irgendo UNTEN RECHTS DER Tabelle hizugefügt. Wie kann ich dies lösen?
    Danke im voraus

    Visual_Prog schrieb:

    Wie kann ich dies lösen?
    Poste mal den relevanten Code.
    Teste zuvor an einem neuen leeren Projekt, dass Dein Effekt reproduziert wird.
    (Gelegentlich hilft dies, den Fehler zu fixen.)
    ====
    Existiert diese Spalte in der Tabelle ühaupt?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    danke, hatte es wirklich eine weile versucht und jetzt festfestellt, es hat wohl gespackt, weil ich keine datatable an die DGB gebunden hatte.

    es klappt mit :

    VB.NET-Quellcode

    1. 'datatable an Tabelle binden und befüllen
    2. With Kniffelblatt
    3. .TableName = "Kniffenblatt"
    4. .Columns.Add("Werte", GetType(System.String))
    5. .Columns.Add("Spiel 1", GetType(System.String))
    6. .Rows.Add("Einser")
    7. .Rows.Add("Zweier")
    8. .Rows.Add("Dreier")
    9. 'usw.
    10. End With
    11. Tabelle1.DataSource = Kniffelblatt
    12. Tabelle1.Rows(0).Cells(1).Value = "Problem gelöst"

    btw:

    VB.NET-Quellcode

    1. Tabelle1.Rows(0).Cells(1).Value = 5555
    ->

    VB.NET-Quellcode

    1. Tabelle1.Item(1, 0).Value = 5555
    - ist kürzer.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VB1963 schrieb:

    Es ist besser, wenn du gleich direkt in der Datentabelle die Daten per Code manipulierst!
    Das DGV dient zur Anzeige und Datenmanipulation vom User...
    Ausnahmsweise Vollzitat.
    Weil ich stimme dem voll zu.

    So soll man gar nicht anfangen, da entstehen Gewohnheiten, die Projekte in Sackgassen führen.
    Für mich aktuell ist dieses einigermassen Beispiel für ein Projekt in Sackgasse: Filter nach Name und Zählen
    Sowas wächst und wird immer komplizierter, und ist dann iwann nicht mehr weiterzuentwickeln.

    Dabei war seine Ausgangslage nicht soo schlecht - immerhin hat er schon ein DGV an eine untypisierte DataTable gebunden gehabt.
    Bei deim Ansatz jetzt - mit Dinge in DGV-Zellen schreiben - naja - das hat insoweit den "Vorteil", dass das viel schneller in die Hose geht, und du nochmal neu und richtig anfangen kannst. ;)