none
Colorer certaines lignes dans un DataGridView RRS feed

  • Question

  • Bonjour,

    Dans mon appli WinForm sous FW 4.0, j'affiche une DataTable dans un DataGridView (propriété DataSource).

    Je voudrais que certaines lignes soient présentées différemment (par exemple avec une couleur de fond différente), en fonction des données contenues dans la table. On peut penser ajouter un champs non visible dans la table pour spécifier la présentation.

    Comment réaliser cela ?

    Merci de vos conseils.

     

     


    Alain
    vendredi 11 février 2011 17:54

Réponses

  • Bonjour,

     

    Pour changer la couleur des lignes d’un DataGridView, utilisez DefaultCellStyle et AlternatingRowsDefaultCellStyle. Ça vous donnera des couleurs alternantes sur les lignes.

     

    Si vous voulez changer la couleur d’une ligne en fonction des données contenues, vous devez le faire dans le code. Vous pouvez utiliser l’évènement Paint, par exemple, pour vérifier la valeur de chaque cellule et pour modifier la couleur de fond :

     

    this.dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Red;

     

    Si vous voulez ajouter une propriété dans la classe DataGridView, qui vous permettra de spécifier un schéma de couleur spécifique, vous pouvez étendre la classe DataGridView.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse AchLog mercredi 16 février 2011 17:38
    mercredi 16 février 2011 15:17

Toutes les réponses

  • Bonjour,

     

    Pour changer la couleur des lignes d’un DataGridView, utilisez DefaultCellStyle et AlternatingRowsDefaultCellStyle. Ça vous donnera des couleurs alternantes sur les lignes.

     

    Si vous voulez changer la couleur d’une ligne en fonction des données contenues, vous devez le faire dans le code. Vous pouvez utiliser l’évènement Paint, par exemple, pour vérifier la valeur de chaque cellule et pour modifier la couleur de fond :

     

    this.dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Red;

     

    Si vous voulez ajouter une propriété dans la classe DataGridView, qui vous permettra de spécifier un schéma de couleur spécifique, vous pouvez étendre la classe DataGridView.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse AchLog mercredi 16 février 2011 17:38
    mercredi 16 février 2011 15:17
  • Ok Alex, bien vu.

    Merci pour votre réponse.

    Bien cordialement

     


    Alain
    mercredi 16 février 2011 17:41