Zum Inhalt springen

DataGridView DefaulCellStyle setzen


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo,

hab da mal ne frage bzw. ich suche nach einer Bestätigung!

Ich verwende in einem c# Projekt ein DataGridView, welches ich mit Daten befülle.

Dabei sind für das DataGridView bereits 5 Spalten Vorgesehen.

mittels > DataGridView.RowsDefaultCellStyle setze ich den DefaultStyle jeder Zelle.

mittels > DataGridView. AlternatingRowsDefaultCellStyle alterniere ich den CellStyle.

Soweit so gut.

Nun möchte ich allerdings von einer bestimmten Spalte das Alignment ändern: ich dachte das kann ich lösen in dem ich folgende Zeile einbinde:

DataGridView.Column[idx].DefaultCellStyle.Alignment = MiddleCenter

leider funktioniert das nicht...

Laut MSDN verwendet das DGV zuerst die Zeilenebene als DefaultStyle, sofern hier nichts gesetzt ist wird die Spalteneinstellung verwendet.

Wie ich es verstehe kann ich den DefaultStyle einer Column nicht setzen sofern ich den RowDefaultCellStyle gesetzt habe!?

Frage1: Ist das richtig oder falsch?

Nur leider benötigte ich die RowDefaultCellStyle da ich das ganze alternierend haben möchte!

Aus Performance gründen und wie auch MS als Richtlinie vorgibt möchte ich nicht mittels: DataGridView.Rows[idx].Cells["Name"].Style.Aligment = MiddleCenter;

jeder Zelle einen eigenen style hinterlegen.

Könnt ihr mir da ein tipp geben, wie ich das Alignment einer einzelnen Spalte Verändern kann.

Gruß

Nok

Bearbeitet von Nokinger
Geschrieben
Nun möchte ich allerdings von einer bestimmten Spalte das Alignment ändern:
Wie ist denn das Alignment in den anderen Spalten?

Wie ich es verstehe kann ich den DefaultStyle einer Column nicht setzen sofern ich den RowDefaultCellStyle gesetzt habe!?

Frage1: Ist das richtig oder falsch?

Das ist insofern falsch, als das nicht für den ganzen Style gilt, sondern für jedes einzelne Property. Wenn du also DataGridView.RowsDefaultCellStyle.Alignment gesetzt hast, wirkt sich DataGridViewColumn.DefaultCellStyle.Alignment nicht mehr aus.

Nur leider benötigte ich die RowDefaultCellStyle da ich das ganze alternierend haben möchte!
Die Frage ist, musst du auf dieser Ebene denn auch ein Alignment setzen?

Aus Performance gründen und wie auch MS als Richtlinie vorgibt möchte ich nicht mittels: DataGridView.Rows[idx].Cells["Name"].Style.Aligment = MiddleCenter;
Dann setz das Alignment nicht in DataGridView.RowsDefaultCellStyle, sondern für jede Spalte einzeln.
Geschrieben

hallo klotzkopp,

super danke für deine Antwort. Ich habe nun das Alignment in den RowDefaultCellStyle = NotSet gestellt und konnte dann in den Columns das Alignment für jede einzelne Spalte setzten!

Das er nicht den ganzen Style sondern nur die Properties forced hatte ich mir auch schon überlegt, hab dies auch getestet .... allerdings hatte ich schätzungsweiße bei diesem test noch irgendwo die Property geforced gehabt!

Danke nochmals.

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...