Datagrid mit 2 Checkboxen farbig markieren

  • VB.NET

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

    Die gesamte Zeile oder nur die CheckBox-Zelle?
    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!
    Dein Dataset ist unvollständig, überall client und server.

    XML-Quellcode

    1. <?xml version="1.0" standalone="yes"?>
    2. <DataSet1 xmlns="http://tempuri.org/DataSet1.xsd">
    3. <gruppen>
    4. <id>-1</id>
    5. <name>test</name>
    6. </gruppen>
    7. <verbindung>
    8. <id>-1</id>
    9. <gp_id>-1</gp_id>
    10. <name>test</name>
    11. <tv_id>123</tv_id>
    12. <tv_pw>123</tv_pw>
    13. <client>true</client>
    14. <server>false</server>
    15. </verbindung>
    16. <verbindung>
    17. <id>-2</id>
    18. <gp_id>-1</gp_id>
    19. <name>www</name>
    20. <tv_id>567</tv_id>
    21. <tv_pw>567</tv_pw>
    22. <client>false</client>
    23. <server>true</server>
    24. </verbindung>
    25. </DataSet1>
    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!

    Tausch schrieb:

    den er setzt ja anscheinden nicht das server auf false
    Dann solltest Du das vielleicht selbst machen.
    Gibt es da nicht ein Validate?
    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!
    ok danke, muss ich aber erst suchen wo und wie das ist?? weisst du das?



    edit1: habe es gefunden es muss im dataset bei der Spalte Client oder Server ein Default Wert gesetzt sein, in dem Fall muss dieser "false" sein, manchmal sieht man den Wald vor lauter Bäumen nicht. Danke nochmal an alle die mir geholfen haben :thumbsup:

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

    Tausch schrieb:

    weisst du das?
    Das DGV hat ein CellValidating-Event:

    VB.NET-Quellcode

    1. Private Sub DataGridView2_CellValidating(sender As System.Object, e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView2.CellValidating
    2. End Sub

    Ggf. ist das CellValueNeeded-Event das bessere.
    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“ ()

    Eine TextBox hat eine Property TextBox1.PasswordChar.
    ----
    Ich hab mal probiert, Deine Daten zu validieren:
    Form1_Load

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. Me.DataSet1.Clear()
    3. Me.DataSet1.ReadXml(_datatv)
    4. For i = 0 To DataGridView2.RowCount - 1
    5. If DataGridView2.Rows(i).Cells("client").Value Is System.DBNull.Value Then
    6. DataGridView2.Rows(i).Cells("client").Value = False
    7. ElseIf CBool(DataGridView2.Rows(i).Cells("client").Value) = True Then
    8. MessageBox.Show("CheckBox in Row " & i.ToString & " ist checked a Client PC!")
    9. DataGridView2.Rows(i).Cells("client").Style.BackColor = Color.Red
    10. End If
    11. If DataGridView2.Rows(i).Cells("server").Value Is System.DBNull.Value Then
    12. DataGridView2.Rows(i).Cells("server").Value = False
    13. ElseIf CBool(DataGridView2.Rows(i).Cells("server").Value) = True Then
    14. MessageBox.Show("CheckBox in Row " & i.ToString & " ist checked a Server!")
    15. DataGridView2.Rows(i).Cells("server").Style.BackColor = Color.Yellow
    16. End If
    17. Next
    18. End Sub
    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!

    Tausch schrieb:

    hat das auch ein dataset?
    DataSet sind Daten, TextBox ist GUI.
    Intern sollte schon was originales gehalten werden, ggf. ein Hash, nur in der Anzeige eben nicht.
    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!