Salut à toutes et à tous,
Soit une classe Facture contenant, entre autre, une liste de classe Frais.
exemple :
Lorsque je crée une source avec la classe Facture pour l'utiliser dans un ReportViewer, je peux utiliser tous les champs de Facture, sauf le champs Couts (une liste d'une autre classe).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class Facture { public string NoFacture { get; set; } public DateTime DateFacture { get; set; } public decimal MontantFacture { get; set; } public List<Frais> Couts { get; set; } = new List<Frais>(); public decimal TotalCouts { get { decimal coutTemps = Frais.AsEnumerable().Sum(c => c.CoutTemps); decimal coutDeplacement = Frais.AsEnumerable().Sum(c => c.CoutDepenses); decimal coutDepenses = Frais.AsEnumerable().Sum(c => c.CoutDeplacement); return coutTemps + coutDeplacement + coutDepenses; } } } public class Frais { public DateTime DateFrais { get; set; } public decimal CoutTemps { get; set; } public decimal CoutDepenses { get; set; } public decimal CoutDeplacement { get; set; } }
Je peux comprendre que je ne puisse pas l'utiliser dans une cellule d'un tableau ou d'une matrice, mais je voudrais l'utiliser pour faire un sous rapport (Afficher chaque facture avec, dessous, la liste de ses Couts).
Comment puis-je faire pour utiliser une List comme sous-rapport ?
J'ai essayé en créant une source de données pour chacune des classes (Facture et Frais), mais lorsque je veux mettre une matrice dans la cellule d'une autre, le DataSetName de la "sous-matrice" se modifie automatiquement pour se mettre au DataSetName de la matrice principale (Les champs ne sont donc plus reconnus)
J'ai beau chercher, je trouve toujours des exemples avec des dates d'un Dataset mais je n'en ai pas encore trouvé avec des classes imbriquées.
Quelqu'un pourrait-il m'expliquer comment faire ou me mettre un lien d'explication ou d'exemple ?
Merci de vos z'avis z'avisés.
Partager