Wie verarbeite ich null verschachtelte Objekte in einem RDLC-Bericht, der an eine benutzerdefinierte Assemblyobjekt-Datenquelle gebunden ist?
Ich habe einen RDLC-Bericht, den ich direkt als PDF in den Response Stream rendere (anstatt den ReportViewer zu verwenden). In dem Code, der den Bericht wiedergibt, ist seine DataSource an ein List (Of ClassA) -Objekt gebunden, das in einer benutzerdefinierten Assembly definiert ist. Dies scheint zum größten Teil zu funktionieren. Mein Problem ist, dass ich nicht mit der Situation umgehen kann, in der ein verschachteltes Objekt null ist. Angenommen, ClassA und ClassB (das verschachtelte Objekt) sind wie folgt definiert:
Public Class ClassA
Public Id As Integer
Public Name As String
Public TheNestedObject As ClassB
End Class
Public Class ClassB
Public Id As Integer
Public Name As String
Public TheParentObject As ClassA
End Class
Wann immer ich versuche, bedingt ein "N / A" anzuzeigen, wenn Klasse B in meinem Ausdruck null ist, wie folgt:
=IIf(IsNothing(Fields!TheNestedObject.Value,"n/a", Fields!TheNestedObject.Value.Name))
Der Bericht zeigt "#Error" an, wenn TheNestedObject null ist. Wenn TheNestedObject nicht null ist, wird der Name korrekt angezeigt.
Was mache ich hier falsch?
Vielen Dank!!!