2009-06-16 8 views
8

Dans un rapport de rdlc je veux comparer des nombres entiers commeexpression rdlc iif utiliser?

if(expression) 
{ 
    // do something 
} 
else if(expression) 
{ 
    // do something else 
} 

Quelle est la syntaxe pour cela?

Répondre

6

Vous devrez déclarations de nid IIF comme celui-ci:

= IIF (expression = 1, "Is 1", IIF (expression = 2, "Is 2")) 
+0

Thannks maintenant si je veux comparer chaîne alors? ce que je fais .... comme int Total = 0 si (expression == "Bon") alors TotalIncrease – Shamim

+0

Vous ne pouvez pas avoir des variables dans ce sens. Vous imbriquez le 'IIF' dans un SUM ou un autre type de fonction d'agrégat ... = Sum (IIF (expression = "Bon", 1, 0)). Quelque chose dans ce sens. –

37

Plutôt que d'utiliser imbriquées IIF déclarations Je préfère la instruction Switch.

De MSDN ...

=Switch(
    Fields!PctComplete.Value >= 10, "Green", 
    Fields!PctComplete.Value >= 1, "Blue", 
    Fields!PctComplete.Value = 1, "Yellow", 
    Fields!PctComplete.Value <= 0, "Red" 
    ) 

Hope it helps :)

+0

Merci c'est le travail Maintenant j'ai un autre problème j'espère que vous m'aidez ... J'ai trois panneau de type COMME: BON, SUPPRIMÉ, NOTFOUND ..... je veux un rapport sur rdlc qui me montre le type de conseil montant comme ci-dessous Thana Bonne Removed NotFound A 5 2 4 B 4 1 0 comment puis-je faire – Shamim

+0

Je ne suis pas tout à fait sûr de ce que vous voulez dire? Pouvez-vous reformuler la question de quelque façon, votre exemple a perdu sa mise en forme parce que c'est un commentaire. –

1

Voici la syntaxe pour vos besoins:

=IIf(CInt(Fields!expression1.value)==1,true,IIf(Cint(Fields!expression2.value)==2,true,nothing)) 

En véritable partie, vous pouvez spécifier le déclaration à exécuter.

1

Utilisez plutôt le commutateur. Je sais que je suis arrivé en retard ici, mais j'espère que cela pourrait aider quelqu'un.

=Switch(Fields!Parameter.value = 2,"somethingnew", 1=1 ,"somethingelse") 

1 = 1 fait référence à la casse du commutateur.

Il est similaire comme

if(Parameter.Value == 2) 
{ 
somethingnew 
} 
else 
{ 
somethingelse 
}