Zum Inhalt springen

bestimmte GridView-Einträge farblich kennzeichnen


Empfohlene Beiträge

Geschrieben

Hallo!

Ich habe ein kleines Problem. Und zwar habe ich ein GridView-Control welches Daten aus einer Datenbank holt. Jetzt wollte ich das so programmieren, dass wenn ein bestimmer Wert aus der Datenbank auf true ist die betroffene Zeile im GridView-Control farblich dargestellt wird. Habt ihr ein paar Infos für mich?

Danke!

Gruß

Michi

Geschrieben

Es gibt für die Zellen meist einen CellStyle, ich verwende zwar mehr DataGridView, aber das müsste hier auch gehen.

Dabei einfach die Eigenschaften für die Hintergrund Farbe setzen und schon ist eine Zelle eingefärbt.

Geschrieben

Also ich löse soetwas folgendermaßen:

  • erstelle eine Prozedur die bestimmte Einträge markiert
  • rufe diese Prozedur in der Methode PreRender des GridViews auf


  Protected Sub markiereEintraege()

       	 'Durchlaufe jede Zeile des GridViews

	 For Each gvr As GridViewRow In Me.GV1.Rows


            'Wenn Wert in Zelle an Index(3) kleiner 18 (Alter)

            If CInt(gvr.Cells(3).Text) < 18 Then

                gvr.Cells(3).BackColor = Drawing.Color.Yellow

                gvr.Cells(3).ForeColor = Drawing.Color.Red


            End If


        Next

    End Sub


   'PreRender Methode des GridViews

   Protected Sub GV1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles GV1.PreRender

        'rufe Prozedur markiereEintraege() auf

        markiereEintraege()

    End Sub

In diesem Beispiel wird die Zelle mit einer anderen Hintergrundfarbe und Schriftfarbe belegt, wenn in der 4. Spalte des GridViews ein Wert steht, der kleiner als 18 ist.

Ich hoffe, dass mein Posting hilfreich war.

LG

Rainer

Geschrieben

So, danke für eure Tips aber hab jetzt noch eine bessere Methode gefunden.

Und zwar hat das GridView ein Event Namens DataRowBound. Dieses Event wird nach jeder neu hinzugefügten Zeile ausgeführt. Nun habe ich folgendes gemacht:


protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)

    {


        [COLOR="YellowGreen"]//Prüft ob RowType ein DataRow ist (kein Header oder Footer)[/COLOR]

        if (e.Row.RowType == DataControlRowType.DataRow)

        {


            [COLOR="YellowGreen"]//Prüft ob die Checkbox auf True ist[/COLOR]

            if (((CheckBox)e.Row.Cells[7].Controls[0]).Checked)

            {


                [COLOR="YellowGreen"]//Formatierung der Zeile[/COLOR]

                e.Row.BackColor = System.Drawing.Color.Beige;

                e.Row.Font.Bold = true;


            }

        }

    }

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...