Antwort

0

Sie benötigen einen Ausdruck verwenden, um den Wert, den Sie wollen zeigen, und dann Antwort Harrys den linethrough zu setzen.

Sie können Ihre SWITCH Anweisung für den Wert wie folgt vereinfachen ..

=SWITCH(
    Fields!a.Value Is Nothing, "Text Here", 
    True, Fields!a.Value) 

oder wenn der Ausdruck nicht mehr komplexer, als Sie dann IIF

=IIF(Fields!a.Value Is Nothing, "Text Here", Fields!a.Value) 

verwenden, wenn Sie brauchen Nur ein Teil des Textfelds ist dann der einfachste Weg, Platzhalter zu verwenden. Diese funktionieren fast genauso wie ein Textfeld, aber Sie können mehrere Platzhalter in einer einzelnen Zelle/Textfeld mit jeweils eigenen Eigenschaften haben.

Um einen Platzhalter hinzuzufügen, klicken Sie zuerst auf die Zelle/das Textfeld, um den Fokus zu erhalten. Klicken Sie dann mit der rechten Maustaste vor oder nach vorhandenen Text-/Platzhaltern. Wählen Sie Insert placeholder und stellen Sie den Ausdruck wie gewünscht ein, Sie können auch die Platzhalter Schriftart/Farbe/Dekoration etc. formatieren.

Als Beispiel habe ich einen kleinen Datensatz mit Ländernamen. Wenn das Land das Wort "Island" enthält, zeige ich einen anderen Text und ändere die Textdekoration auf einem der Platzhalter. Im Design sieht man 3 Platzhalter, etwas Text, dann ein Feld und dann noch etwas Text.

enter image description here

Als ich das laufen bekomme ich die folgende Ausgabe. enter image description here

Ich habe Strike Thru auf dem Feld Platzhalter Landesec gesetzt, aber Sie können das gleiche für einen Text Platzhalter tun. Sie müssen es immer noch in zwei Teilen tun, und Ausdruck, um den Textwert und einen Ausdruck in den Platzhaltern Schriftarteneigenschaften zu setzen, um LineThrough festzulegen

+0

Gibt es eine Möglichkeit, dies im TextBox-Ausdruck selbst zu tun? Der Grund, warum ich frage, ist, weil ich mehrere Felder habe, die drucken, aber ich möchte nur eine von ihnen mit dem LineThrough, Beispiel: = Switch (Fields! A.Value ist nichts, b.Value + "Line Through zu das richtige Feld: "+ B.Value.LineThrough, Not (Felder! a.Value ist Nothing), CStr (Felder! a.Value)) –

+0

Meinst du, du hast ein einzelnes Textfeld, willst aber nur einen Teil des Textes haben eine Linie durch? Ich werde meine Antwort aktualisieren, falls Sie das möchten. –

+0

Das ist der richtige Weg, aber ich verwende den Report Builder 2008.Nach einiger Lektüre wurde festgestellt, dass das "line through" beim PDF-Rendering vor 2010 nicht verfügbar war. –

0

Sie können die Bedingung für Font/TextDecoration für das ausgewählte Berichtselement festlegen. Es gibt eine Option für LineThrough.

Für Beispiel

=iif(reportitems!Textbox7.Value = "Cartons","LineThrough","Default") 
+0

Gibt es eine Möglichkeit, es in der TextBox Ausdruck selbst zu tun? Der Grund, warum ich frage, ist, weil ich mehrere Felder habe, die drucken, aber ich möchte nur eine von ihnen mit dem LineThrough, Beispiel: = Switch (Fields! A.Value ist nichts, b.Value + "Line Through zu das rechte Feld: "+ B.Value.LineThrough, Not (Felder! a.Value ist Nothing), CStr (Felder! a.Value)) –

Verwandte Themen