In Reporting Services-Berichten können Bilder aus einer Datenbank geladen und angezeigt werden. Dazu wird einfach auf das Feld mit der Bild-Information verwiesen. Zum Beispiel mit dem Ausdruck First(Fields!ImageValue.Value, “BilderDataset”). Wenn eine Auswahl aus mehreren Bildern getroffen werden soll, bietet sich die Lookup-Funktion an. Die funktioniert aber nicht einfach so:

=LookUp(“BildName”, Fields!ImageName.Value, Fields!ImageValue.Value, “BilderDataset”)

Das Bild wird nicht angezeigt. Nach einiger Recherche stellt sich heraus, dass die LookUp-Funktion keine Bild-Datentypen zurückgeben kann. Heißt das, wir müssen jetzt umständlich je Bild ein extra Dataset bauen und das Bild darüber referenzieren?

Nein, nur die Rückgabe der LookUp-Funktion muss explizit so konvertiert werden, dass Reporting Services die Bilder als solche interpretieren kann:

=LookUp(“BildName“, Fields!ImageName.Value, System.Convert.ToBase64String(Fields!ImageValue.Value), “BilderDataset”)

Mit der Konvertierung klappt’s auch mit der Anzeige der Bilder mit der LookUp-Funktion!