Zusammengehörige StringGrid Zeilen abwechselnd einfärben



  • Hallo zusammen

    Ich habe ein StringGrid mit 10 Spalten und ca 30 Zeilen.
    Die Zeilen, in denen die ersten drei Spalten identisch sind sollen z.b. in gelb eingefärbt werden, da diese Zeilen zusammen gehören. Die nächsten zusammengehörigen Zeilen sollen dann grün sein, und danach wieder gelb.

    Ich habe schon sehr viel ausprobiert, jedoch ich finde einfach keine Möglichkeit dies zu realisieren.

    Wie man eine Zelle, Zeile oder Spalte einfärbt weiß ich, jedoch wie programmiere ich, daß sich die Zeilenfarbe immer abwechselt.

    Ich hoffe es ist verständlich was ich meine.

    MfG Stephan


  • Mod

    Hallo

    ein Blick in die FAQ haette dir da sicher geholfen
    http://www.c-plusplus.net/forum/viewtopic.php?t=39305

    MfG
    Klaus



  • Hallo zusammen

    @KlausB
    Kannst du mir bitte etwas auf die Sprünge helfen, welchen Beitrag du in der FAQ meinst? Oder habe ich mich missverständlich ausgedrückt?

    Denn mein Problem ist nicht wie ich eine Zelle, Spalte oder Zeile einfärbe, sondern wie erkenne ich, wann ich die nächste Farbe nehmen muß.

    Nochmals ein Erklärungsversuch:
    Ich habe in einer Tabele meherer zusammengehörige Zeilen (Anzahl unbekannt). Diese zusammengehörigkeit wird durch den Inhalt in 3 Spalten bestimmt.

    Nun möchte ich wegen der Übersichtlichkeit immer die zusammengehörigen Zeilen in einer Farbe darstellen. Wenn ich hier nur eine Farbe verwende, ist nacher die ganze Tabelle in dieser Farbe, deshalb soll die Farbe abgewechselt werden.
    Erste zusammengehörigen Zeilen gelb,
    zweite zusammengehörige Zeilen grün,
    dritte zusammengehörige Zeilen gelb,
    usw.

    Jedoch wie weiß ich, wann ich die Farbe wechseln muß?

    MfG Stephan



  • Indem du halt die Inhalte der Zeilen vergleichst!?

    Das sollte man aber wohl unabhängig vom OnDrawCell machen. Z.B. könntest du im OnKeyUp (oder wo immer sich auf eine Änderung des Inhalts reagieren lässt) ein Array anlegen bzw. füllen, in dem du anhand des oben erwähnten Vergleiches festhältst, welche Zeilen(nummern) mit welcher Farbe gezeichnet werden sollen. Dieses Array liest du dann im OnDrawCell aus und setzt die Farben entsprechend.


Anmelden zum Antworten