Reporting services SSRS是否根据列中的大多数单元格类型动态设置表格单元格的对齐方式?

Reporting services SSRS是否根据列中的大多数单元格类型动态设置表格单元格的对齐方式?,reporting-services,Reporting Services,这是我第一次遇到这个问题,但是SSRS似乎正在根据列中大多数单元格的类型将所有单元格的文本对齐设置为一个值。这种情况不会发生在BIDS中,只会发生在报表查看器中,但可以在两台不同的服务器上复制 我使用System.Double类型的数据集项或文本值“-”when Is Nothing将单元格设置为true=Iif(Fields!SLF.value Is Nothing,“--”,Fields!SLF.value)。我以前从未注意到,如果列中的大多数单元格都是空的,那么少数非空单元格将与所有“-”

这是我第一次遇到这个问题,但是SSRS似乎正在根据列中大多数单元格的类型将所有单元格的文本对齐设置为一个值。这种情况不会发生在BIDS中,只会发生在报表查看器中,但可以在两台不同的服务器上复制

我使用System.Double类型的数据集项或文本值“-”when Is Nothing将单元格设置为true
=Iif(Fields!SLF.value Is Nothing,“--”,Fields!SLF.value)
。我以前从未注意到,如果列中的大多数单元格都是空的,那么少数非空单元格将与所有“-”文本项一起向左对齐。现在我也看到了相反的列,如果列中的大多数单元格都是数值,那么所有内容都是对齐的,即使是列中的少数“-”文本项。我只使用默认的TextAlign和VerticalAlign,没有缩进、SpaceAfter或SpaceBefore,也没有任何连接的文本或嵌入的保留空格


SSRS宇宙中还有其他人看到过这一点吗?有人知道为什么或者有一个很好的解决方法吗?谢谢

仅使用默认的TextAlign属性值不起作用。SSRS似乎不会在一段时间内检查值类型(当列中使用多个类型时)。我只是猜测它使用了一些其他算法,根据列中大多数类型的内容来确定要使用哪种对齐方式。但我发现解决这个问题的一种方法是基于用于设置值的同一表达式显式设置TextAlign,这似乎和我期望的属性一样有效。因此,如果该值设置如下:
=Iif(Fields!SomeField.value为Nothing,“--”,Fields!SomeField.value

然后将TextAlign类似地设置为:
=Iif(Fields!SomeField.Value为Nothing,“Default”,“Default”


现在,文本左对齐,数值右对齐(en-US区域),这一点非常有效.

我从未见过这样的情况,但只要为单元格指定文本对齐方式,SSRS就会遵守您的决定。@TabAlleman,我以为我是通过使用默认的TextAlign属性值来实现的,没有意识到这会导致对列中的所有值使用单一对齐类型。我以为SSRS会定时检查值类型并确定“默认值”的含义。