Wie gebe ich Zeilenfarbe und alternative Zeilenfarbe für eine Tabelle in einem RDLC-Bericht an? Wenn ich gegoogelt habe, habe ich festgestellt, dass die meisten Ergebnisse etwas wie = iif(RowNumber(Nothing) mod 2, "Red", "White")
aussagen. OK! Aber wo soll ich das Zeug ablegen? Jede Hilfe wird geschätzt.
Sehr leicht! :-)
In Ihrer Report Designer-Oberfläche müssen Sie die Datenzeile auswählen, die Ihre Daten enthält - etwa wie folgt:
Wenn Sie das Feld Properties
für diese Datenzeile betrachten, wird ein Eigenschaftsaufruf BackgroundColor
angezeigt. Öffnen Sie das Dropdown-Menü, und Sie werden alle üblichen Farben sehen - aber auch einen Menüpunkt namens Expression...
:
Wenn Sie dieses Element auswählen, wird ein Dialogfeld geöffnet, in dem Sie einen Ausdruck einfügen können, um die Hintergrundfarbe für diese Zeile zu bestimmen. Dort müssen Sie den Ausdruck einfügen, den Sie haben - und das ist alles!
Wenn Sie Ihrem Dataset kein RowNumber-Feld hinzufügen möchten, verwenden Sie einfach die integrierte Funktion RowNumber (ScopeName als String). Ich benutze häufig den Namen des DataSet als Parameter:
= IIF(RowNumber("CarsWithNoMakeDataSet") Mod 2 = 0, "LightGrey", "Transparent")
Sie finden diese Funktion im Ausdrucksdialog, Kategorie "Allgemeine Funktionen", Unterkategorie "Verschiedenes".
Als Bereichsparameter kann der Name einer Gruppe oder eines Datenbereichs verwendet werden. Mehr finden Sie hier .
Ich hoffe es hilft,
Die Ausdrucksdefinition zum Abwechseln der Zeilenfarbe lautet:
=iif(Fields!RowNumber.Value Mod 2 = 0,"LightGrey","White")
In diesem Beispiel wird davon ausgegangen, dass Sie in Ihrem Datensatz ein Feld RowNumber haben.
Sie können den Gruppendatenbereich anstelle des Datensatznamens verwenden.
ZB: = IIF (RowNumber ("MonthOfYearId") Mod 2 = 0, "LightSteelBlue", "No Color")
Beachten Sie, dass die Verwendung eines dynamischen Ausdrucks die Zeit beeinflussen kann, die zum Exportieren eines Berichts erforderlich ist. Bei einem Bericht mit 5 KB Reihen kann die Zeitsteigerung 2-3 Minuten betragen.
Dies ist der Ausdruck, den ich aus einem meiner Berichte entfernen musste, um die Exportzeit akzeptabel zu machen: = Iif (RowNumber (Nothing) Mod 2, "White", "# e6eefc")