À l'aide de Winforms .NET 2.0, mon client a demandé que les données d'une Datagrid soient affichées verticalement plutôt qu'horizontalement. La couche de données de l'application est construite sur NHibernate, donc j'évite généralement d'écrire du SQL brut en faveur de HQL. Toutefois, ce scénario peut se prêter à l'utilisation de la fonctionnalité 'crosstab' de SQL Server 2005.Données 'Rotate' dans une grille de données WinForms
Ainsi, par exemple, la disposition gridview actuelle (qui reflète la conception de table) est liée à un IList (de ClaimGroup) en tant que tel:
GroupName | ClaimType | PlanCode | AgeFrom | AgeTo | AgeSpan
BHFTConv 1| P | CC | 6 | 12 | Years
doit devenir:
GroupName | BHFTConv 1
ClaimType | P
PlanCode | CC
AgeFrom | 6
AgeTo | 12
AgeSpan | Years
la grille a actuellement, et il faudra encore, un bouton « Appliquer » qui enregistrera les modifications apportées à la grille pivotée.
Alors, que feriez-vous? Utiliser le SQL brut pour croiser les données, rompant ainsi la loi NHibernate d'éviter les requêtes spécifiques à la base de données? Ou existe-t-il un mécanisme intégré dans un DataSet qui permettrait de faire pivoter les données? Ou simplement utiliser la force brute pour faire pivoter les données?
grâce à l'avance