1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| //Masquage de la colonne de type "Bool"
dgv.Columns["EstDisponible"].Visible = false;
// Creation et ajout d'une colonne supplementaire nomee "EstDisponibleTexte"
System.Windows.Forms.DataGridViewTextBoxColumn EstDisponibleTexteDataGridViewTextBoxColumn;
EstDisponibleTexteDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
dgv.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { EstDisponibleTexteDataGridViewTextBoxColumn });
EstDisponibleTexteDataGridViewTextBoxColumn.FillWeight = 1F;
EstDisponibleTexteDataGridViewTextBoxColumn.HeaderText = "EstDisponibleTexte";
EstDisponibleTexteDataGridViewTextBoxColumn.Name = "EstDisponibleTexte";
EstDisponibleTexteDataGridViewTextBoxColumn.Width = 50;
// Alimentation de la nouvelle colonne "EstDisponibleTexte" a partir de "EstDisponible":
// Pour toutes les lignes de dgv
foreach (DataGridViewRow rangee in dgv.Rows)
{
// Si la valeur de la colonne "EstDisponible" n'est ni "null" ni "false"
if ((rangee.Cells["EstDisponible"].Value != null) && ((bool)rangee.Cells["EstDisponible"].Value))
{
// Je copie "Oui" dans la colonne "EstDisponibleTexte"
rangee.Cells["EstDisponibleTexte"].Value = "Oui";
}
else
{
// Je copie "Non" dans la colonne "EstDisponibleTexte"
rangee.Cells["EstDisponibleTexte"].Value = "Non";
// Petite cerise: je colore la case en rouge.
rangee.Cells["EstDisponibleTexte"].Style.BackColor = System.Drawing.Color.Red;
}
}
// Les donnees ne se rafraichissaient pas chez moi, le seul moyen
//que j'ai trouvé est de masque la colonne et de la reafficher.
dgv.Columns["EstDisponibleTexte"].Visible = false;
dgv.Columns["EstDisponibleTexte"].Visible = true; |
Partager