Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
DataGridView: Zellen aufgrund von Bedingungen einfärben
romu2000
myCSharp.de - Member



Dabei seit:
Beiträge: 291

Themenstarter:

DataGridView: Zellen aufgrund von Bedingungen einfärben

beantworten | zitieren | melden

Hallo zusammen,

ich stehe gerade wohl ein wenig auf dem Schlauch.

Gibt es eine möglichkeite in einem DataGridView spezielle Zeilen einzufärben ?

Das die Zeilen abwechselnd eine andere Farbe bekommen habe ich schon hinebkommen.

Ich möchte allerdings folgendes:

In der ersten Spalte steht die Beleg ID die ohne Probleme auch mal 10 Zeilen in Anspruch nehmen kann. Nun möchte ich die 10 Zeilen rot markieren und bein der nächsten Zeile die dann z.b. nur 5 Zeilen mit der gleichen Beleg ID nutzt die Zeilen weiss färben. Das ganze soll dann immer anhand der Beleg ID weiter gehen.

Hat da evtl. jemand einen Ratschlag für mich ?

Vielen dank im Voraus und Grüße
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von romu2000 am .
private Nachricht | Beiträge des Benutzers
vbprogger
myCSharp.de - Experte

Avatar #avatar-1820.gif


Dabei seit:
Beiträge: 1.696
Herkunft: NRW/DE

beantworten | zitieren | melden

Hallo,

es geht dir also um den Algorithmus bzw. die Findung der Bedingung für das Färben? Wenn du schon die ID als Teil der Bedingung festgelegt hast, dann sollte es nicht schwierig sein. Aber ... wenn du sagst mit der gleichen ID z.B. 10 mal rot und z.B. 5 mal weiss, wobei die Anzahl der Zeilen auch noch variabel ist, dann wird's sehr schwierig, vernünftige Algorithmus zu finden.

Grüße
Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.
---------
Bemerkung: ich beantworte keine Fragen via PM, denn das Forum soll ja was davon haben!
private Nachricht | Beiträge des Benutzers
romu2000
myCSharp.de - Member



Dabei seit:
Beiträge: 291

Themenstarter:

beantworten | zitieren | melden

hallo,

ja , das Problem ist, das bei jedem Kunden die Beleg ID praktisch die Auftragsnummer ist und diese wird pro Artikel vorne im Datagridview angezeigt und kann natürlich pro Auftrag variieren :-(

Grüße
private Nachricht | Beiträge des Benutzers
vbprogger
myCSharp.de - Experte

Avatar #avatar-1820.gif


Dabei seit:
Beiträge: 1.696
Herkunft: NRW/DE

beantworten | zitieren | melden

und warum anders farbig markieren, wenn es sich um den gleichzen Auftrag handelt? Nach welchen Kriterium machst du das? Nimm dieses Kriterium und baue in deine Entscheidung ein.

Grüße
Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.
---------
Bemerkung: ich beantworte keine Fragen via PM, denn das Forum soll ja was davon haben!
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4.221
Herkunft: Zentralschweiz

beantworten | zitieren | melden

@romu2000

Bitte jeweils genau darauf achten was Du schreibst....

Zuerst schreibst Du was von DataGrid... und später von DataGridView....

Also welches Control setzt Du ein ?

Gruss
Programmierhans
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

Moderationshinweis von herbivore (19.03.2013 - 17:22)

Die Stellen, an denen fälschlich der falsche Klassenname verwendet wurde, wurden mittlerweile korrigiert.

private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo romu2000,

bitte antworte nicht nur, sondern editiere auch die bestehenden Beiträge, siehe Bitte die exakten Klassennamen verwenden! (insbes. bei DataGrid/DataGridView/GridView).

herbivore
private Nachricht | Beiträge des Benutzers
romu2000
myCSharp.de - Member



Dabei seit:
Beiträge: 291

Themenstarter:

beantworten | zitieren | melden

Hallo,

ja, es handelt sich um ein DataGridView in welchem die Zeilen wie oben beschrieben gefärbt werden sollen.

Sorry für die Umstände.

Beste Grüße
private Nachricht | Beiträge des Benutzers
Console32
myCSharp.de - Member



Dabei seit:
Beiträge: 258

beantworten | zitieren | melden

Hallo das ist relativ einfach du musst doch nur über alle Reihen iterieren sehen ob die Id anderes ist als beim letzten Durchlauf und dann die Farbe setzten.
private Nachricht | Beiträge des Benutzers
romu2000
myCSharp.de - Member



Dabei seit:
Beiträge: 291

Themenstarter:

beantworten | zitieren | melden

Hallo,

vom Gedanken habe ich mir das so auch gedacht nur fehlt es mir leider bei der Umsetzung. Wie kann ich c# sagen das er mir die aktuelle Zeile mit der vorherigen abgleicht ?

Beste Grüße
private Nachricht | Beiträge des Benutzers
vbprogger
myCSharp.de - Experte

Avatar #avatar-1820.gif


Dabei seit:
Beiträge: 1.696
Herkunft: NRW/DE

beantworten | zitieren | melden

Ach, und ich dachte, dass du's schon raus hast.

Wie wär's mit speichern und vergleichen, etwa so:


oldValue = ...
for ... {
   currentValue = ...
   if (currentValue!=oldValue) {
   // hier gruppenwechsel
   bgColor = ....
   oldValue = currentValue;
   }
   ... = bgColor;
}
Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.
---------
Bemerkung: ich beantworte keine Fragen via PM, denn das Forum soll ja was davon haben!
private Nachricht | Beiträge des Benutzers

Moderationshinweis von herbivore (19.03.2013 - 17:28)

Zwei Werte miteinander zu vergleichen, auch wenn es in einer Schleife darum geht, einen Wert mit seinem Vorgänger zu vergleichen, fällt eindeutig unter die Grundlagen, die wir als bekannt voraussetzen. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.