donnant une cellule DataGridView une image de fond en C #
-
19-09-2019 - |
Question
Je veux donner les en-têtes de ligne et les en-têtes de colonnes d'un arrière-plan personnalisé à partir d'une image en utilisant le composant .NET DataGridView. Est-il possible de faire encore cela? Et si oui, comment?
J'utilise Visual Studio 2008, l'application Windows, C #.
La solution
Il est possible de modifier les attributs de la RowHeader DataGridView. Vous devrez soit gérer la CellPainting ou l'événement RowPostPaint et dessiner manuellement l'image dans la cellule d'en-tête de ligne.
protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
{
// Your code to insert image/content per cell goes here
}
Autres conseils
Sur le chemin de le faire est de mettre un nom CssClass par élément d'en-tête en cas RowDataBound comme celui-ci et affecter votre image d'arrière-plan dans le css.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
foreach (TableCell c in e.Row.Cells)
{
c.CssClass = "bgimage";
}
}
}
css:
.bgimage{ background-image:url(images/arrow-red-large-down.gif);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow