当值不为空时 Microsoft Report Designer Line Through Text

Microsoft Report Designer Line Through Text when value not Empty

有人在 Microsoft Report Designer 的表达式值中使用过 LineThrough 文本吗? 示例:

=Switch(Fields!a.Value is Nothing, "text here".LineThrough, Not(Fields!a.Value is Nothing), CStr(Fields!a.Value))

如果 a.Valuenothing,我需要 "text here" 加上删除线。

您可以在所选报表项目的 Font/TextDecoration 上设置条件。 LineThrough 有一个选项。

例如

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

您需要使用表达式来显示您想要的值,然后使用 Harry 的答案来设置 LineThrough。

您可以像这样简化您的 SWITCH 值声明..

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

或者如果表达式不会变得比您所用的更复杂,那么使用 IIF

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

如果您只需要文本框的一部分,那么最简单的方法是使用占位符。它们的作用几乎与文本框相同,但您可以在一个 cell/textbox 中包含多个占位符,每个占位符都有自己的属性。

要添加占位符,请先单击 cell/textbox 以获得焦点,然后在任何现有 text/placeholders 之前或之后右键单击。 Select Insert placeholder 并根据需要设置表达式,您还可以格式化占位符 font/color/decoration 等

例如,我有一个包含国家/地区名称的小型数据集。如果国家/地区包含单词 "Island",那么我会显示不同的文本并更改其中一个占位符上的文本装饰。在设计中,您可以看到有 3 个占位符,一些文本,然后是一个字段,然后是更多文本。

当我 运行 这样做时,我得到以下输出。

我已经在 countrydesc 字段占位符上设置了删除线,但您可以在文本占位符上执行相同的操作。您仍然必须分两部分进行,表达式设置文本值,占位符字体属性中的表达式设置 LineThrough