我创建了一个报告,左边有一个图像,根据传入报表的参数有条件可见。页面右侧还有另一个文本框。
我观察到当图像的隐藏属性设置为“True”时,右侧的文本框保持在正确的位置。当图像的隐藏属性设置为= IFF(1 = 1,true,true)时,右侧的文本框将向左移动,报告看起来很难看。
如何让隐藏的对象仍然占用所有必要的空间,并将其设置为隐藏的表达式?
为了防止您看到的行为,您可以将一些其他对象(如矩形或线条)放置在设计器上与图像相同的位置,并使其占据与左侧图像相同的水平空间。
隐藏图像时,此对象将保留在那里并阻止右侧文本框移动。
我会在设计器中保持此对象可见,并在运行时将其颜色设置为与背景颜色(例如白色)匹配,以便您不会看到它。
我还会给它一些描述性名称,如LineWhichPreventsTextBoxFromMovingWhenImageIsHidden,以便报告的某些未来维护者不会无意中删除它,从而导致重大变化。
在文本框的情况下,设置值有条件地保存我从放置占位符对象,如建议的答案。一个示例代码=IIF(First(Fields!SlNo.Value) > 1 , "", First(Fields!MacType.Value))
这可能会帮助某人。