2010-07-23 14 views
3

J'ai un champ dans mon rapport SSRS, qui contient une chaîne de nombres délimités par des virgules (à partir d'une sélection coalesce en SQL). Il ressemble à 12, 91, 160, 171, 223. Je voudrais changer la couleur du texte d'une seule valeur spécifique (160 par exemple) dans le champ, SI la valeur est également dans un autre champ du rapport.Expression pour changer la couleur du texte de la valeur spécifique dans la chaîne de valeurs dans SSRS basé sur un autre champ

Je l'ai déjà pour une expression pour les propriétés Font of the field.

=iif(Fields!Store_Number.Value.ToString().Contains (Fields!DMHomeStore.Value)= True,"Red","Black") 

Cela modifie la couleur du texte de la totalité du champ, et pas seulement la valeur UN dans la chaîne.

Fondamentalement, si DMHomeStore = 160, et Store_Number a 160 dans sa chaîne, puis faire seulement 160 rouge dans la chaîne Store_Number.

Répondre

5

Cela peut certainement être fait et n'est pas difficile à faire.

  1. Commencez avec une cellule de tableau vide.
  2. Double-cliquez sur la cellule -> clic droit -> Créer Placeholder
  3. Dans l'onglet Général, Valeur -> sélectionnez le champ qui contiendra la chaîne de nombres
  4. Sur le même onglet Général, sélectionnez « HTML , interpréter les balises HTML comme styles
  5. Cliquez sur OK

C'est la première étape. maintenant, tout ce que nous devons faire est de mettre en place une expression qui trouve la chaîne en question, puis le remplacer par le code HTML pour faire le rouge

  1. Faites un clic droit sur la cellule -> Sélectionnez Expression
  2. Entrez l'expression suivante:
=Replace(Fields!Store_Number.Value.ToString(),Fields!DMHomeStore.Value," `<span style='color:red'>` " & Fields!DMHomeStore.Value & "`</span>`") 

Exécutez votre rapport et que la chaîne en question sera rouge et tout autre texte dans la la cellule sera noire. Si la chaîne en question n'est pas trouvée, tous les autres textes seront noirs.

+0

Je ne suis pas sûr s'il me manque quelque chose ici, mais je reçois toujours la chaîne entière en rouge, pas seulement la valeur 160. J'ai vidé la cellule complètement et j'ai commencé à partir de sratch. Créé l'espace réservé et dans l'espace réservé sélectionné le champ Store_Number. Puis sélectionné "HTML, interpréter les balises HTML en tant que styles". J'ai également veillé à ce que les propriétés "Police" de l'espace réservé aient toujours l'expression = iif (Fields! Store_Number.Value.ToString(). Contient (Fields! DMHomeStore.Value) = True, "Red", "Black") Puis a fait la deuxième étape en ajoutant l'expression = Replace que vous m'avez donnée. – Emo

+0

Supprime l'expression de la propriété de police. Vous ne voulez pas définir la couleur à deux endroits. –

+0

Ok, j'ai essayé, mais maintenant je suis juste en train d'obtenir la ligne entière en noir. Sans cette expression, qu'est-ce qui devrait rendre le texte rouge? Désolé ... Je n'ai jamais été bon à utiliser des expressions. – Emo