Statt Checklistbox Datagridview

  • VB.NET
  • .NET (FX) 4.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von xX-Nick-Xx.

    Statt Checklistbox Datagridview

    Ich wollte mein Code jetzt ändern, von einer Checklistbox in ein Datagridview.

    Nur leider hab ich noch nie mit dem Datagridview gearbeitet. und das was ich gefunden habe darüber Funktioniert jetzt nicht so ganz.

    Alter Code: Checkedlistbox:

    VB.NET-Quellcode

    1. CheckedListBox1.Items.Clear()
    2. If IO.Directory.Exists(TextBox5.Text + "\Deaktivierte mods") Then
    3. Else
    4. IO.Directory.CreateDirectory(TextBox5.Text + "\Deaktivierte mods") 'Erstelle
    5. End If
    6. Dim fis() = New IO.DirectoryInfo(My.Settings.modpath).GetFiles("*.zip")
    7. Dim fisi() = New IO.DirectoryInfo(TextBox5.Text + "\Deaktivierte mods").GetFiles("*.zip")
    8. For Each fi In fis
    9. Me.CheckedListBox1.Items.Add(fi)
    10. Next
    11. For i As Integer = 0 To CheckedListBox1.Items.Count - 1
    12. CheckedListBox1.SetItemChecked(i, True)
    13. Next
    14. For Each fin In fisi
    15. Me.CheckedListBox1.Items.Add(fin)
    16. Next


    Neuer Code: Datagridview

    VB.NET-Quellcode

    1. DataGridView1.Rows.Clear()
    2. If IO.Directory.Exists(TextBox5.Text + "\Deaktivierte mods") Then
    3. Else
    4. IO.Directory.CreateDirectory(TextBox5.Text + "\Deaktivierte mods") 'Erstelle
    5. End If
    6. Dim fis() = New IO.DirectoryInfo(TextBox6.Text).GetFiles("*.zip")
    7. Dim fisi() = New IO.DirectoryInfo(TextBox5.Text + "\Deaktivierte mods").GetFiles("*.zip")
    8. For Each fi In fis
    9. DataGridView1.Rows(0).Cells(1).Value = fi.ToString '(fi)
    10. Next
    11. For Each row As DataGridViewRow In DataGridView1.Rows
    12. Dim chk As DataGridViewCheckBoxCell = DirectCast(row.Cells(0), DataGridViewCheckBoxCell)
    13. Next
    14. For Each fin In fisi
    15. DataGridView1.Rows(0).Cells(1).Value = fin.ToString '(fi)
    16. Next


    Beim Datagridview funktioniert etwas nur nicht. statt alles aus dem Ordner hinzuzufügen tut er nur eins hinzufügen.

    Was mach ich falsch?

    Danke im vorraus

    Rows.Add kann man dir Daten aller Spalten übergeben.

    Rows.Add(Variable1, Variable2, Variable3,...)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Indem Du den Cell-Value abfragst:
    Für Zeile 1:
    MessageBox.Show(DataGridView1.Rows(0).Cells(1).Value.ToString)
    Achtung! Solange die Zelle im Bearbeitungsmodus ist (kleiner Stift in der RowHeaderCell), wird der bisherige Wert wiedergegeben. Erst wenn die Bearbeitung beendet wird (normalerweise z.B. durch Drücken der Entertaste), wird der neue Wert übernommen und "korrekt" angezeigt. (Korrekt ist er immer, nur eben vielleicht nicht wie erwartet).
    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.