Bonjour,

J'ai un problème avec DataSource Objet de mes reports, plus précisément avec les propriétés de type List(of myObject).

Voici un petit exemple

Ma Class1
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
 
<Serializable>
Public Class Class1
    Private _id As Integer
    Public Property ID() As Integer
        Get
            Return _id
        End Get
        Set(ByVal value As Integer)
            _id = value
        End Set
    End Property
 
    Private _lstClass As List(Of Class2)
    Public Property lstClass() As List(Of Class2)
        Get
            Return _lstClass
        End Get
        Set(ByVal value As List(Of Class2))
            _lstClass = value
        End Set
    End Property
 
 
    Public Sub New()
        _id = 1
 
        _lstClass = New List(Of Class2)
        _lstClass.Add(New Class2 With {.Name = "test1"})
        _lstClass.Add(New Class2 With {.Name = "test2"})
        _lstClass.Add(New Class2 With {.Name = "test3"})
    End Sub
 
End Class
Ma Class2

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
 
<Serializable>
Public Class Class2
    Private _Name As String
    Public Property Name() As String
        Get
            Return _Name
        End Get
        Set(ByVal value As String)
            _Name = value
        End Set
    End Property
 
    Public Sub New()
 
    End Sub
 
End Class
Class1 possède donc une List(of Class2)

Dans mon rapport je créé un dataset1 qui utilise Class1 ce qui me permet de visualiser ma propriété ID jusque la pas de problème.

Ensuite je créé un dataset2 qui utilise Class1(lstClass) qui correspond donc à ma List(of Class2) contenu dans ma Class1.

j'utilise ce dataset sur un tableau afin qu'il m'affiche toute la liste et c'est la que je bloque, le rapport n'affiche aucune données...

Mes classes sont bien sérialisable
J'ai bien un constructeur sans paramètre dans chacune des classe
Tous les attributs on des accesseurs public

La dataSource du report est bien initialisée (code ci-dessous)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim c1 As Class1 = New Class1
        Me.Class1BindingSource.DataSource = c1
        Me.ReportViewer1.RefreshReport()
    End Sub
Est-ce que quelqu'un aurait une idée de ce qui pourrait bloquer le traitement ?

Merci d'avance

Cordialement

Max