Datagridview multicouleur

Résolu
sonia -  
 Zineb -
Slt tout le monde,
j'ai une table sql server que j'ai affiché dans un datagrid, je voudrais colorer les lignes du datagrid selon un critère ( si stagiaire alors couleur bleu, sinon couleur rouge).

j'ai pas trouvé dans le controle datagrid une fonction qui permet de colorer une seule ligne
comment je peux le faire.

3 réponses

  1. chuka Messages postés 980 Statut Membre 379
     
    Salut,
    en C# regarde la propriété:DefaultCellStyle.BackColor que tu recupere grace à l'instance de ton datagridView et la ligne (exemple ci-dessous, si ton DataGridView se nomme dataGridView1 et ta ligne est à la l'index 1):
    dataGridView1.Rows[1].DefaultCellStyle.BackColor=Color.Blue;
    1
  2. sonia
     
    bonjour chuka et merci bien pour votre réponse,ce que je veux faire exactement est le suivant:
    je veux parcourire toute les lignes de mon datagridview
    pour chaque ligne je verifie le contenu du 20 ieme colonne, si c'est stagiaire alors couleur de la ligne est bleu sinon est rouge.je vais esayer cette methode et je vais vous repondre.
    0
  3. sonia
     
    Salut le monde,j'ai resolu mon probleme en comptant sur l'aide de chuka et des recherches que j'ai faites:voila ce que j'ai fait:

    connection con = new connection();//class pour conexion à la base de données
    SqlConnection c = con.conn();//elle retourne une variable SqlConnection

    SqlDataAdapter dataAdapter = new SqlDataAdapter("select * from avocat", c);

    SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);

    // Populate a new data table and bind it to the BindingSource.

    DataTable table = new DataTable();

    table.Locale = System.Globalization.CultureInfo.InvariantCulture;

    dataAdapter.Fill(table);

    bindingSource1.DataSource = table;

    // Resize the DataGridView columns to fit the newly loaded content.

    dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);

    // you can make it grid readonly.

    dataGridView1.ReadOnly = true;

    // finally bind the data to the grid
    dataGridView1.DataSource = bindingSource1;

    //colorier les lignes selon un critere
    string situation=null;
    int i = dataGridView1.Rows.Count;
    for (int j = 0; j < dataGridView1.Rows.Count; j++)
    {
    try
    {
    if (dataGridView1.Rows[j].Cells[20].Value.ToString().Equals("Avocat"))

    { dataGridView1.Rows[j].DefaultCellStyle.BackColor = Color.Aqua; }
    else dataGridView1.Rows[j].DefaultCellStyle.BackColor = Color.BlueViolet;

    }
    catch (Exception ex) {; }
    0
    1. Zineb
       
      Mercii bcp
      0