Datagrid mit 2 Checkboxen farbig markieren

  • VB.NET

Es gibt 51 Antworten in diesem Thema. Der letzte Beitrag () ist von Tausch.

    Datagrid mit 2 Checkboxen farbig markieren

    Hallo,

    ich habe in meinem Datagrid zwei Checkboxen. Folgendens soll passieren wenn die erste gecheckt wurde soll diese Zeile rot markiert werden und wenn die zweite Zeile gecheckt wurde soll diese gelb markiert werden. Leider funktioniert dies nicht so richtig. Das habe ich bisher, was mache ich falsch?


    VB.NET-Quellcode

    1. Dim Menge As Integer = DataGridView2.Rows.Count - 1
    2. ' Genau so oft die Schleife wiederholen wie die Anzahl der Zeilen (Rows)
    3. For i = 0 To Menge
    4. ' jetzt deine Abfrage
    5. If CBool(DataGridView2.Rows(i).Cells(6).Value) = True Then
    6. MessageBox.Show("CheckBox in Row " & i.ToString & " ist checked a Client PC!")
    7. DataGridView2.Rows(i).Cells(0).Style.BackColor = Color.Red
    8. elseif CBool(DataGridView2.Rows(i).Cells(7).Value) = True Then
    9. DataGridView2.Rows(i).Cells(0).Style.BackColor = Color.Yellow
    10. End If
    11. Next

    Ich hoffe mir kann jemand weiterhelfen.. Danke

    VB.NET-Quellcode

    1. If CBool(DataGridView2.Rows(i).Cells(6).Value) = True Then
    2. MessageBox.Show("CheckBox in Row " & i.ToString & " ist checked a Client PC!")
    3. DataGridView2.Rows(i).Cells(0).Style.BackColor = Color.Red
    4. end if
    5. if CBool(DataGridView2.Rows(i).Cells(7).Value) = True Then
    6. DataGridView2.Rows(i).Cells(0).Style.BackColor = Color.Yellow
    7. end If


    schön ist anders! ^^
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    funktioniert leider auch nicht, denn wenn in der ersten zeile die erste checkbox gecheckt wurde und in der nächsten zeile die andere bricht er trotzdem mit diesem Fehler ab (siehe Bild im Anhang)
    Bilder
    • fehler.JPG

      100,24 kB, 974×388, 240 mal angesehen
    Die Zelle ist "DBNull" also kein "Boolean". Die Werte kannst du also nicht vergleichen.
    Daher kommt die Fehlermeldung.
    Bist du sicher, dass du richtigen Spalten ansprichst? Stichwort 0-Basiert.
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    Und die Spalte ist auch wirklich Boolean? :)
    Möglich wäre noch ThreeState.. da wirft es glaube weder true noch false zurück.

    VB.NET-Quellcode

    1. MessageBox.Show(DataGridView2.Rows(i).Cells(7).ValueType.ToString)
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    Rechtsklick auf DGV - Spalten Bearbeiten
    Links dann die Spalte "Server" anklicken und in den rechten Eigenschaften bei
    "ColumnType" "DataGridViewCheckBoxColumn" auswählen.
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    Hast du mal deinen Code getestet mit nur einer Spalte (der ersten)? (Also den restlichen Code auskommentiert).
    Eigentlich kann es nur der falsche Index sein, denn du ansprichst....
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    Ahhh, super.. :D
    Ich war "abgeschreckt" von der Vorgabe (Index as Integer)... das es mehrere Möglichkeiten gibt ist ja äußerst genial!!!! :)
    Danke! :)
    Bilder
    • Zwischenablage02.jpg

      37,81 kB, 579×72, 121 mal angesehen
    :!: Danke an alle, die ihr Wissen freiwillig teilen und stets so kompetent & höflich sind :!:
    ok den ersten fehler habe ich gefunden warum es nicht boolean war, ich habe das ganze in der datenquelle als system string hinterlegt... mein fehler, allerdings wenn ich das auf boolean umstelle bekomme ich jetzt beim anlegen eines datensatzes diesen fehler (siehe Bild)

    das passiert wenn ich den ersten datensatz fertig eingetragen habe und einen hacken bei client oder server gemacht habe und in die nächste zeile gehe



    erweiterung: 2 Bilder Dataset
    Bilder
    • 2fehler.JPG

      57,68 kB, 483×462, 137 mal angesehen
    • client.JPG

      38,27 kB, 487×383, 111 mal angesehen
    • server.JPG

      37,93 kB, 484×456, 123 mal angesehen

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