Categories: C#

[C#] Fusionner des cellules dans le header d’un gridview

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
        }    
}


Fusion de cellules … biologiques et non numeriques d’un gridview

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 :


Point d’intérêt de cet article : Csharp, optimisation, gridview, cellule, fusion.

adminArnaud

Share
Published by
adminArnaud

Recent Posts

[Agile] De l’importance d’écrire des taches claires pour vos User Stories

Dans le monde de l'agilité, le Product Owner se doit d'écrire des user stories simples,… Read More

4 ans ago

[Actu] Printemps des poètes

Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More

5 ans ago

[Actu] Élections présidentielles 2017

Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More

7 ans ago

[Linux] Activer/Désactiver l’UTC en ligne de commande

Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More

8 ans ago

[Actu] Ces fous qui attaquent Paris

Si quelqu'un m'avait dit en Janvier que je réécrirais un article dans l'année sur des… Read More

8 ans ago

[Actu] Fin des vacances, c’est la rentrée 2015 !

Il y a quelques semaines, mois, voire années (tout est subjectif) nos enfants (et nos… Read More

9 ans ago