2010-12-10 6 views
7

J'ai besoin de créer des couleurs de ligne alternatives dans mon rapport RDLC qui tient également compte des groupes.Autres couleurs de lignes avec regroupement dans RDLC

Si j'utilise l'expression

=Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White") 

Évidemment, cela crée des problèmes lorsque les groupes sont utilisés. Je n'ai pas eu beaucoup de chance à trouver des informations, donc toute aide serait géniale.

Répondre

7

Je sais que ce sujet a été abordé il y a longtemps, mais au cas où quelqu'un a un problème similaire (comme je l'ai fait) et se lance dans ce sujet, voici comment je l'ai abordé. Voici un exemple du rapport de regroupement et les résultats des échantillons dans mon rapport:

Groupe 1
      Sub 1
      Sub 2
      Sub 3

Groupe 2
      Sub 1
      Sub 2
      Sub 3

avis que 'Sous [1-3]' sont les mêmes en-tête exacte. Lors de l'utilisation (Fields! GroupId.Value, CountDistinct, Nothing), l'instruction détermine qu'il y a seulement 3 valeurs uniques, et quand elle arrive aux sous-groupes répétitifs (Sub [1-3]), le résultat de RunningValue n'augmente pas .

Vous pouvez tester cela en ajoutant une colonne supplémentaire dans votre rapport, puis l'expression suivante: (RunningValue (Fields! GroupId.Value, CountDistinct, Nothing).Les résultats se présente comme suit:

Groupe 1
      Sub 1      
      Sub 2      
      Sub 3      

Groupe 2
      Sub 1      
      Sub 2      
      Sub 3      Comme les valeurs recommencent à se répéter, la partie «mod 2» de la logique de ligne en alternance devient foirée. Pour contourner ce que j'avais la déclaration de RunningValue combiner l'en-tête du groupe, ainsi que le Sous-groupe:

(RunningValue (champs GroupId.Value + Les champs SubGroupId.Value, CountDistinct, Nothing)

Après avoir fait! ce que je a obtenu ce résultat:

Groupe 1
      Sub 1      
      Sub 2      
      Sub 3      

Groupe 2
      Sub 1      
      Sub 2      
      Sub 3      

Throw que pour votre expression de ligne alternative et il devrait fonctionner!

+0

Ah, une technique simple mais utile. Je vais commencer à l'appliquer moi-même! – nik0lias

+0

Merci! Bonne explication aussi – Jonesopolis

11

a décidé d'aller avec le code suivant j'ai trouvé en ligne:

=IIf(RunningValue(Fields!GroupId.Value, CountDistinct, Nothing) MOD 2, "White", "#d6f1fc") 

Il ne marche pas alterner toutes les couleurs de la ligne, mais conserve toutes les lignes dans ce groupe de la même couleur qui font le beau rapport et facile à lire.

+0

Très utile, merci pour vous répondre! –

1

utiliser ceci: = IIF (RowNumber (Nothing) Mod 2 = 0, true, false)

Questions connexes