2010-08-28 5 views
6

C#, ASP.NET, VS08, en utilisant un tableau HTML.Comment fusionner des cellules dans une colonne en utilisant le code derrière?

Je souhaite fusionner des cellules - rowspan et colspan l'enjambent mais ne le fusionnent pas.

Pour une image claire,

  • glisser un contrôle de table HTML sur le point de vue de la conception
  • sélectionner les cellules d'une colonne
  • clic droit, modifier, fusionner

Je aime faire cela par programmation en codage C# sur un clic de bouton.

Répondre

10

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!

Questions connexes