2008-11-04 6 views
1

J'essaie de définir la couleur d'arrière-plan d'une ligne DataGridView en rouge. J'ai essayé avec la ligne suivante:painting DataGridView Row

dgvActiveCalls.Rows [1] .DefaultCellStyle.BackColor = Color.Red;

mais cela ne fonctionne pas. Ensuite, juste pour voir si quelque chose ne va pas avec la mise à jour, j'ai essayé de peindre la colonne au lieu de la ligne:

dgvActiveCalls.Columns [1] .DefaultCellStyle.BackColor = Color.Red;

et cela a bien fonctionné. Je serais vraiment reconnaissant si quelqu'un pouvait montrer la façon de peindre la ligne DataGridView.

Merci!

Répondre

1

Assurez-vous que le style par défaut n'est pas remplacé par un autre des styles. Bizarrerie intéressante de DGV dans 2.0: On dirait que la chaîne d'héritage est presque à l'envers de ce que vous attendez. Si vous ajoutez dynamiquement des colonnes, votre DefaultCellStyle peut être ignoré et être remplacé par RowsDefaultCellStyle. Le tri peut également remplacer les styles que vous avez définis.

Vous voudrez peut-être vérifier dans quelle commande vous définissez ces styles et google pour quelques articles concernant l'héritage de style.

P.S. Il est intéressant, je googlé pour trouver un lien pour fournir, et suis tombé sur ce blog avec une explication presque identique:

http://yakkowarner.blogspot.com/2008/06/datagridview-style-inheritance.html

0

J'ai testé cela sur ma machine et cela a bien fonctionné. Etes-vous sûr que cette ligne n'est pas en surbrillance? Si elle est en surbrillance, vous verrez la couleur en surbrillance, pas le rouge.

+0

Je suis sûr que je l'ai testé à nouveau ... –