Bien qu’il soit simple de fusionner des cellules d’un Gridview en C# le designer de VS ne nous le permet pas.

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


Fusion de cellule ... biologique et non numerique

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



Le code 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 quelques soient 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.

(on pourrait éventuellement fusionner des cellules d’une ligne

GridView1.Row[5].Cells[0].ColumnSpan = 2;

même si l’utilité reste plus limitée).

Mots clefs liés à cet article:

  • cellule
  • comment fusionner 2 colonnes dans un datagridview en vb net
  • vs datagridview fusionner cellules
  • deux ligne header datagridview
  • DATAGRIDVIEW REGROUPER LES LIGNES
  • creer deux header datagrid en vb net
  • cellules
  • cellule biologique
  • c# fusionner cellule datagridview
  • associer deux champs dans une cellule datagridview c#