Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

bestimmte GridView-Einträge farblich kennzeichnen

Empfohlene Antworten

Veröffentlicht

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

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.

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

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;


            }

        }

    }

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.