L'exemple illustré ici montre comment ajouter un header qui se superpose aux headers de colonnes d'une grille. Le principe de ce header est que chaque élément contient une propriété ColumnSpan qui permet de se superposer à plusieurs colonnes. Le code doit être exécuté quand la grille dispose déjà de ses colonnes. Il est possible à tout instant de construire ou de rafraichir ce header superposé via la méthode :
Une fois que ce type de headers est associé à une grille, il n'est plus possible pour l'utilisateur de changer l'ordre de colonnes (grid.AllowUserToOrderColumns = false). En revanche, le scrolling est toujours possible.

Le code ci-dessus produit le rendu visuel illustré.
MercatorUi.GridPro.TopHeaders topHeaders = new MercatorUi.GridPro.TopHeaders(grid)
{
Items = new MercatorUi.GridPro.TopHeader[]
{
new MercatorUi.GridPro.TopHeader { ColumnStart = 0 },
new MercatorUi.GridPro.TopHeader { ColumnStart = 1, ColumnSpan = 2, Text = "Document" },
new MercatorUi.GridPro.TopHeader { ColumnStart = 3, ColumnSpan = 2 },
new MercatorUi.GridPro.TopHeader { ColumnStart = 5, ColumnSpan = 3, Text = "Totaux" },
new MercatorUi.GridPro.TopHeader { ColumnStart = 8 }
}
};
topHeaders.Build();
On notera que si la propriété Text n'est pas définie, le TopHeader est simplement "un cache". Ceci permet de mettre en valeur les TopHeaders avec un texte.
Les colonnes sont numérotées à partir de zéro.