Local Report et Object Data Source
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:
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:
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:
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