Fusion de cellule ... biologique et non numerique
Bien qu’il soit simple de fusionner des cellules d’un Gridview en C# le designer de VS ne nous le permet pas.
Pas le choix, il va falloir aligner quelques lignes de code.
Le code suivant va nous permettre de fusionner des cellules (équivalent d’un colspan en html) dans le header (en-tête) d’un Gridview.
protected void GridView1_DataBound(object sender, EventArgs e){
try
{
GridView1.HeaderRow.Cells[0].ColumnSpan = 2;
GridView1.HeaderRow.Cells[1].Visible = false;
}
catch
{
//On ne fait rien le gridview est vide.
//pour éviter ce type d'exception il suffit de vérifier que le gridview n'est pas vide
}
}
Le code précédent est exécuté lorsque l’événement databound du gridview est déclenché ( la liaison de données au gridview est terminée ).
Placer ce code dans l’événement databound du gridview permet de conserver le colspan quelque soit l’événement ayant eu lieu sur la gridview (sorting, pageindexchanging, rowediting etc…)
Dans l’exemple ci-dessus la cellule 0 (Cells[0]) de la ligne Header (HeaderRow) est fusionnée à la cellule 1 (ColumnSpan = 2).
La cellule 1 ne doit quand à elle plus être affichée (Cells[1].Visible = false;).
Il ne reste plus qu’à insérer un label, un bouton … dans la cellule 0.
GridView1.Row[5].Cells[0].ColumnSpan = 2;
(on pourrait éventuellement fusionner des cellules d’une ligne même si l’utilité reste plus limitée).
Vous aimez le CSharp? Alors lisez l’article suivant :
Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More
Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More
Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More
Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More
Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More
Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More