Comment faire pour que le texte de la ligne du datagridview soit en gras lorsque je sélectionne une ligne ?
Réponses
Trop de publicités?Manipuler le Formatage des cellules de l'événement DataGridView et appliquer un style gras à la police si la cellule appartient à une ligne sélectionnée :
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
var dataGridView = sender as DataGridView;
if (dataGridView.Rows[e.RowIndex].Selected)
{
e.CellStyle.Font = new Font(e.CellStyle.Font, FontStyle.Bold);
// edit: to change the background color:
e.CellStyle.SelectionBackColor = Color.Coral;
}
}
Après avoir chargé le contenu de la grille de données, appliquez ces gestionnaires d'événements à RowEnter et RowLeave.
private void dg_RowEnter(object sender, DataGridViewCellEventArgs e)
{
System.Windows.Forms.DataGridViewCellStyle boldStyle = new System.Windows.Forms.DataGridViewCellStyle();
boldStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold);
dg.Rows[e.RowIndex].DefaultCellStyle = boldStyle;
}
private void dg_RowLeave(object sender, DataGridViewCellEventArgs e)
{
System.Windows.Forms.DataGridViewCellStyle norStyle = new System.Windows.Forms.DataGridViewCellStyle();
norStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular);
dg.Rows[e.RowIndex].DefaultCellStyle = norStyle;
}
Les codes ne sont pas testés. Mais ils devraient fonctionner correctement.
J'espère que cela vous aidera.
Le code ci-dessous fera passer la police en style Gras pour la ligne sélectionnée. "Total" est la dernière ligne vérifiée dans mon code.
protected void gvRow_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[rowIndex].Text == "Total")
{
e.Row.Font.Bold = true;
}
}
}