2017-08-22 10 views
0

Was ichWie analysieren rdlc Bericht Mehrwertige mit ssrs

Ich möchte Zeilen Hintergrundfarbe ändern, wenn die Spalte „NCRNumber“ 's-Wert in der Mehrwert-Parameter vorhanden ist benannt listeRNC tun wollen.

Hier ist die SSRS ich jetzt bin mit:

= iif ((Parameters!listeRNC.Value.ToString() = Fields!NCRNumber.Value.ToString()), "Khaki","White")

Was dies bedeutet

Dies wird nur Färben der ersten Reihe (die auch das erste Element in den Parameter ist listeRNC!).

.

ich weiß, dass ich verschiedene Artikel in der MultiValue- Liste wie folgt

Parameters!listeRNC.Value(index)
zugreifen

Aber wie kann ich eine Suche in dieser Liste machen? Genau wie bei List.Find Method oder mit einer Foreach?

Antwort

0

Schließlich war mein Problem nicht so über den Code selbst, ich hatte den Parameter selbst falsch konfiguriert. Ich habe Parameter manuell über den XML-Code des Berichts hinzugefügt. Aber die Art, wie ich den mehrwertigen Parameter geschrieben habe, war falsch.

Also hier ist die richtige XML für diejenigen, die interessiert sind:

<ReportParameter Name="YourParameterNameGoesHere"> 
    <DataType>String</DataType> 
    <Prompt>ReportParameter1</Prompt> 
    <MultiValue>true</MultiValue> 
</ReportParameter> 

Und hier ist, wie ich dies, um herauszufinden: während Viewer Ihren Bericht [design] Modus, gehen Sie auf die Toolstrip-Menü von Visual Studio - > Ansicht -> Daten melden (Strg + Alt + D). Dann gehen Sie zu Parameter, und klicken Sie mit der rechten Maustaste -> Parameter hinzufügen. Stellen Sie sicher, dass Sie die Option Multivalue aktiviert haben. Und da gehst du!

Hier ist der endgültige Code, den ich verwendet, um die ganze Sache zu analysieren:

= iif((InStr(Join(Parameters!listeRNC.Value,",").ToString(),fields!NCRNumber.Value.ToString(),CompareMethod.Text)), "Khaki","White") 
1

Ich denke, was Sie suchen, ist eine Menge wie die Antwort in der unten stehenden Link. Aber hier ist das, was Sie in eine gute Richtung senden würde:

= IIF (! Array.indexOf (Parameter p_myMultipleValueParameter.Value, Felder groepType.Value)> -1, "gefunden", "Not Found")

IndexOf

+0

danke ich weg das richtig versuchen werde. – TinkeringMatt