Hi,
ich habe ein DGV mit vielen Datensätzen.
Die Daten kommen per DataSource = gibDatensaetze() (DataTable) an das DGV heran.
Nun möchte ich das die Zeilen abwechselnd unterschiedliche Farben haben, das ist kein Problem (DefaultCellStyle, AlternatingRowsDefaultCellStyle) und wenn bestimmte Kriterien erfüllt sind sollen sie nochmal andere Farben bekommen.
Also z.B.:
Datensatz 1 (Style1)
Datensatz 2 (Style2)
Datensatz 3 (Style1)
Zwischensumme (StyleZs)
Datensatz 4 (Style1)
Datensatz 5 (Style2)
Datensatz 6 (Style1)
Zwischensumme (StyleZs)
Endsumme (StyleEs)
In der ersten Spalte (welche Visible = False ist) steht 0 für Datensatz, 1&2 für ZWischensumme und 3 für Endsumme.
Anhand dieses Wertes muss nun formatiert werden.
Nun möchte ich aus Performance gründen ungern über alle Rows (können bis zu 2500 oder mehr sein) drüber rennen.
Wie bekomm ich es nun hin das das ganze elegant und schnell geöst wird.
Bei den Columns löse ich das Formatierungsproblem mit dem Event ColumnAdd, soetwas gibts für Rows aber nicht.
Da gibt es nur RowsAdded, wobei in meinem Fall immer alle Rows auf einmal angefügt werden.
Und wenn ich da über alle angefügten drüber renne, dauert das ewig.
RowPostPaint habe ich auch schon ausprobiert, das wird allerdings jedesmal beim zeichnen der Form aufegrufen und nicht nur beim anlegen der Zelle.
Hat jemand eine pfiffige Idee wie ich das lösen kann?
Liebe Grüße
Matthias
ich habe ein DGV mit vielen Datensätzen.
Die Daten kommen per DataSource = gibDatensaetze() (DataTable) an das DGV heran.
Nun möchte ich das die Zeilen abwechselnd unterschiedliche Farben haben, das ist kein Problem (DefaultCellStyle, AlternatingRowsDefaultCellStyle) und wenn bestimmte Kriterien erfüllt sind sollen sie nochmal andere Farben bekommen.
Also z.B.:
Datensatz 1 (Style1)
Datensatz 2 (Style2)
Datensatz 3 (Style1)
Zwischensumme (StyleZs)
Datensatz 4 (Style1)
Datensatz 5 (Style2)
Datensatz 6 (Style1)
Zwischensumme (StyleZs)
Endsumme (StyleEs)
In der ersten Spalte (welche Visible = False ist) steht 0 für Datensatz, 1&2 für ZWischensumme und 3 für Endsumme.
Anhand dieses Wertes muss nun formatiert werden.
Nun möchte ich aus Performance gründen ungern über alle Rows (können bis zu 2500 oder mehr sein) drüber rennen.
Wie bekomm ich es nun hin das das ganze elegant und schnell geöst wird.
Bei den Columns löse ich das Formatierungsproblem mit dem Event ColumnAdd, soetwas gibts für Rows aber nicht.
Da gibt es nur RowsAdded, wobei in meinem Fall immer alle Rows auf einmal angefügt werden.
Und wenn ich da über alle angefügten drüber renne, dauert das ewig.
RowPostPaint habe ich auch schon ausprobiert, das wird allerdings jedesmal beim zeichnen der Form aufegrufen und nicht nur beim anlegen der Zelle.
Hat jemand eine pfiffige Idee wie ich das lösen kann?
Liebe Grüße
Matthias
Comment