Datagridview multicouleur

Résolu/Fermé
sonia - 11 avril 2010 à 10:09
 Zineb - 12 mai 2014 à 16:11
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

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
11 avril 2010 à 10:21
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
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
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
Mercii bcp
0