none
Ausblenden einer Zeile bei nichtvorhandenem Datenfeld. RRS feed

  • Frage

  • Hallo an Alle,

    ich entwickle die Reports gegen XML-Data Sources. In diesen XML-Files werden in den Feldern bei nicht vorhandenen Datensätzen die Felder gar nicht übertragen und müssen somit auch nicht im Bericht angezeigt werden.

    IsNothing funktioniert anscheinend nur bei leeren Datensätzen, d.h. das Feld ist in der XML-Datei vorhanden, hat aber keinen Wert.

    Daher habe ich die folgende Funktion verwendet um die Zeile auszublenden wenn das Datenfeld gar nicht existiert:

    =IIf(Fields!Feldname.IsMissing,True,False) als "Expression" in der Visibility-Option: "Show or hide based on an Expression".

    Leider wird die Zeile immer noch angezeigt, obwohl kein Datenfeld vorhanden ist.

    Was kann ich noch tun? Worin liegt der Fehler. Angeblich soll diese Funktion für genau diesen Fall da sein und ist sogar auf dem Microsoft-Seiten als Lösungsbeispiel angegeben.

    Viele Grüße Bernd

    Freitag, 29. August 2014 13:46

Alle Antworten

  • Hallo Bernd,

    ändere mal den Inhalt eines Datenfeldes auf eine Expression wie

    =IIf(Fields!Feldname.IsMissing, "True","False")

    um, um zu sehen, was die Expression liefert.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Freitag, 29. August 2014 13:52
  • Hallo Olaf,

    ich hätte Dir ja gerne früher geantwortet, leider hat der "Senden"-Button auf der Forum-Seite nicht reagiert (dazu habe ich einen anderen Thread aufgemacht). Jetzt antworte ich von einem anderen Rechner.

    Gute Idee: Das Ergebnis Deines Expression-Vorschlages war "False"! Seltsam! Das Feld wird zwar als Column im XML-File aufgeführt, ist aber in den "Rows" nicht als Datensatz vorhanden, und soll ja deshalb ausgeblendet werden. Dadurch dass ich über "Fields!Feldname.IsMissing" auf die XML-Datei zugreife, sollten doch auch nur die "Row"-Daten durchsucht werden. Also kann ich mir das Ergebnis "False" irgendwie nicht erklären.

    Ich habe mir dann statt mit Fields!Feldname.IsMissing auch noch den Datensatz per Fields!Feldname.Value, den er ja dann zurückliefern müsste (wenn IsMissing = false), angeschaut => NICHTS! (was ja klar war).
    Aber mit IIF(IsNothing(Fields!Feldname.Value), True, False)  als Funktion bekomme ich auch einen "False" Wert zurückgeliefert => Ich glaube "True" ist vergriffen? (Vorsicht: bissiger Humor!)

    Gruß Bernd

    (so jetzt geht auch die "Enter"-Taste (Zeilenumbruch) nicht mehr (oder habe ich schon zuviele Zeilen geschrieben?).


    • Bearbeitet Public Identity BG Freitag, 29. August 2014 17:34 Enter-Taste hat nicht mehr funktioniert. Text nachformatiert!
    Freitag, 29. August 2014 17:33