Bonjour !
j'ai besoin d'un petit coup de main pour les reports, je ne trouve pas comment faire un report avec 2 détails imbriqués (je pense que c'est ça dont j'ai besoin mais s'il y a un autre moyen, je suis preneur).
Dans mon application, un contrat peut avoir 1 ou plusieurs adhérents, et chaque adhérent a des lignes d'informations.
Si je fais un report pour un contrat avec 1 adhérent, (il faut donc une page avec le détail des lignes), c'est ok.
Mais si je veux faire pour un contrat ayant x adhérents (donc x pages ayant chacune y lignes), c'est un détail dans un détail je crois, et je ne vois pas comment faire.

pour remplir le rapport avec 1 sous-rapport pour les lignes, j'utilise :
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
private int _ID_FactureLot;
        private int _ID_Contrat;
 
        public int ID_FactureLot
        {
            get { return _ID_FactureLot; }
            set { _ID_FactureLot = value; }
        }
 
        public int ID_Contrat
        {
            get { return _ID_Contrat; }
            set { _ID_Contrat = value; }
        }
 
        List<DAL.sp_PreFacturation_Justif_Result> SourceReport = new List<DAL.sp_PreFacturation_Justif_Result>();
 
        public FacturationJustificatif()
        {
            InitializeComponent();
        }
 
        private void FacturationJustificatif_Load(object sender, EventArgs e)
        {
            try
            {
                SourceReport = Business.Lists.PreFacturations.GetPreFacturation_Justif(ID_FactureLot, ID_Contrat);
                FacturationJustificatifBindingSource.DataSource = SourceReport;
                reportViewer1.LocalReport.SubreportProcessing += LocalReport_SubreportProcessing;
                this.reportViewer1.RefreshReport();
            }
            catch (Exception ex)
            {
                ShowError("Erreur FacturationJustificatif_Load", ex);
            }
        }
 
        void LocalReport_SubreportProcessing(object sender, Microsoft.Reporting.WinForms.SubreportProcessingEventArgs e)
        {
            try
            {
                e.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("dsFacturationJustificatifDetail",
                Business.Lists.PreFacturations.GetPreFacturation_JustifDetail(_ID_FactureLot, _ID_Contrat, SourceReport.FirstOrDefault().Code_Adherent)));
            }
            catch (Exception ex)
            {
                ShowError("Erreur LocalReport_SubreportProcessing", ex);
            }
        }