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!!!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage