DGV formatieren

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Svenson.

    DGV formatieren

    Guten Morgen Leute,

    ich habe ein Problem mit dem "DataGridViewCellFormattingEventHandle".

    Hier mal der Code

    C#-Quellcode

    1. private void DGV_Zg_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    2. {
    3. if (this.DGV_Zg.Columns[e.ColumnIndex].Name == "Diff")
    4. {
    5. MessageBox.Show("an");
    6. if (e.Value != null)
    7. {
    8. DataGridViewCell cell = this.DGV_Zg.Rows[e.RowIndex].Cells[e.ColumnIndex];
    9. double wert = (double)e.Value;
    10. if (wert < 0)
    11. {
    12. cell.Style.ForeColor = Color.Red;
    13. cell.Style.BackColor = Color.White;
    14. }
    15. else if (wert > 0)
    16. {
    17. cell.Style.ForeColor = Color.Green;
    18. cell.Style.BackColor = Color.White;
    19. }
    20. }
    21. }
    22. else
    23. {
    24. MessageBox.Show("aus");
    25. }
    26. }


    Der Handler funktioniert, die Spalte Diff ist auch vorhanden.
    Leider bekomm ich nur die Messagebox "aus" angezeigt.

    Vieleicht könnt Ihr mir helfen. Danke schonmal
    Dann wird der Handler wohl nicht aufgerufen.
    An dieser STelle hat eine Msgbox übrigens keinen Wert, denn das CellFormatting-Event wird immer gefeuert, wenn eine Zelle gezeichnet wird.
    Wenn aber beim Zeichnen sich eine Box übers Grid legt, und weggeklickt wird, dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden. Und dann kommt die Messagebox. Und wird wieder weggeklickt. Und dann müssen die darunter liegenden Zellen ja neu gezeichnet werden.
    Und so weiter...
    Also ich hab bei der ersten if- Anweisung einen Haltepunkt gesetzt.
    Der Vergleich läuft auch alle Spalten durch, reagiert jedoch nicht auf die Spalte Diff. Ich habe auch andere Spalten versucht, auch nichts.

    Also muss doch an dem Vergleich was nicht stimmen. Ich such mal was mann da ändern kann.

    Danke schön erstmal

    Svenson schrieb:

    Der Vergleich läuft auch alle Spalten durch, reagiert jedoch nicht auf die Spalte Diff.
    Ich habe auch andere Spalten versucht, auch nichts
    Hast du den jetzt noch mehrere Spalten?
    Wenn alle Spalten aufgerufen werden - das tut es ja auch - dann stimmt der Name nicht...