2010-01-19 8 views
2

Puis-je obtenir des cellules fusionnées dans certaines lignes alors que les autres lignes de lignes ne sont pas fusionnées? Comme cette façon:Fusionner des cellules dans la table (RDLC)

| group row 1 | 
| cell1 | cell3 | cell4 | cell5 | cell6| 
| cell1 | cell3 | cell4 | cell5 | cell6| 
... 
| group row 2 | 
... 

Je dois exporter au contenu Excel de datagridview avec des lignes de groupe et ce serait bien d'obtenir quelque chose comme ça. J'ai essayé d'utiliser l'élément ColSpan dans TableCell mais il affecte toutes les lignes.

Répondre

3

J'ai trouvé une solution. L'élément TableCell peut contenir un élément ColSpan dans lequel un point peut être fusionné à cette cellule. Autre question intéressante: comment l'utiliser de la meilleure façon? Mon approche actuelle suit.
1. Détecter toutes sortes de lignes dans la grille pour fusionner des cellules (dans mon exemple, il y a 2 sortes - ligne simple sans fusion et ligne "groupe" avec une cellule qui fusionne toutes les cellules).
2. Définissez l'élément TableRow pour chaque type de ligne à l'aide de l'élément ColSpan afin de fusionner les cellules. Lorsque vous utilisez un élément TextBox dans les cellules, n'oubliez pas de définir des noms uniques pour tous les éléments TextBox du rapport.
3. Définissez la visibilité pour chaque type de ligne. Je ne peux pas encore trouver de mieux que des indices simples de ligne de cette énumération, tout comme:

<Visibility> 
<Hidden>=iif(RowNumber(Nothing) = 1 or RowNumber(Nothing) = 5 or RowNumber(Nothing) = 8, true, false)</Hidden> 
</Visibility> 

Assurez-vous que chaque ligne de la grille correspond à l'état « Hidden = false » de plus d'un élément de TableRow.

Remarques et suggestions sont les bienvenues.

Questions connexes