Einige Zeilen in einem Datagrid farbig markieren

Manuelh

Mitglied
Hallo,
Ich lese von einer Sql DAtenbank die werte für mein Datagrid aus! In der Spalte Band stehen Bänder von 1 - 3
Jedes Band sollte eine eigene Hintergrundfarbe haben!
Z.b. soll Band 1 im Datagrid die Hintergrundfarbe blau haben
Band 2 gel
Band 3 grün
oder so!


Gruß Manuel
 
Hallo,
der Tip an sich ist sehr gut, aber leider für Entwicklungsumgebung: VB.Net,
das wird ihm nicht viel nützen.
Mit dem Datagrid von VB6 geht das IMHO nicht das man Zeilen Farbig
darstellt.

Gruß
Jens
 
Vielen dank!
Doch icih arbeite schon mit .Net jedoch ist das Problem hier das ich meine Daten mit einer Selct anweisung aus einer Sql Tabelle hole! Im Beispiel wurden ja alle Daten per Hand reingeschrieben! Und ich hab so ca. 10000 Daten!
Hab mir überlegt vielleicht würde es mit einem ItemDataBound gehen! Aber ich glaub ich sitz momentan auf der Leitung :?!
 
Ok ein weiterer Vorschlag! Ich mach ein loop rein und gehe jede einzelne Zeile durch! Aber wie mach ich das dann am besten?
 
ich hab das in c# so gelöst:
über das databounditem greife ich auf ein objekt zurück (nhibernate) .. da muss natürlich deine eigene bedingung zum einfärben rein.. spalteninhalt überprüfen mit contains oder equals.. jenachdem was du brauchst..
Code:
 for (int i = 0; i < dgvVorlagen.Rows.Count; i++)
                    {
                       Directory dir =  (Directory)this.dgvVorlagen.Rows[i].DataBoundItem;
                       if (dir.directory)
//färbt die zeile die den kriterien entspricht hellgrau
                           this.dgvVorlagen.Rows[i].DefaultCellStyle.BackColor = Color.LightGray;
                       else
                       {
//färbt alle andren abwechselnd weiß oder beige (aus übersichtszwecken..)
                           if (i%2 ==1)
                               this.dgvVorlagen.Rows[i].DefaultCellStyle.BackColor = Color.White;
                           else
                               this.dgvVorlagen.Rows[i].DefaultCellStyle.BackColor = Color.AntiqueWhite;
                           
                       }
//das angelegte directory von oben zerstören um den speicher nit zuzumüllen..
                        dir = null;
                    }

in VB sollte es ähnlich gehen. ich hoff ich konnt dir damit helfen.
 
Zurück