C'est juste un peu fastidieux de le faire à partir de code-behind, mais le processus est simple.
Tout d'abord, je suppose que votre table et ses éléments sont marqués avec l'attribut runat="server"
. Cela vous donnera accès à l'API côté serveur du contrôle.
Dites que vous voulez fusionner deux cellules dans la première rangée. Le processus consiste à définir le colspan d'une cellule, puis à supprimer l'autre (les autres).
myTable.Rows[0].Cells[i].ColSpan = 2;
myTable.Rows[0].Cells.RemoveAt(i + 1)
Il est similaire pour rowspan.
myTable.Rows[0].Cells[i].RowSpan = 2;
myTable.Rows[1].Cells.RemoveAt(i)
Voici un exemple d'une plus grande fusion impliquant deux rowspan et colspan:
myTable.Rows[0].Cells[i].ColSpan = 2;
myTable.Rows[0].Cells[i].RowSpan = 2;
myTable.Rows[0].Cells.RemoveAt(i + 1)
myTable.Rows[1].Cells.RemoveAt(i)
myTable.Rows[1].Cells.RemoveAt(i + 1)
Notez que si votre table a déjà portées de ligne et cellule enjambe que vous aurez plus de jeu de jambes à faire pour calculer quelles cellules doivent être enlevées.
Bonne chance!