|
多行文本 |
Top Previous Next |
|
我们升级一下上一个例子,给宠物鱼加上一个详细说明,对应数据表中的“Notes”字段
首先在模板中增加一个“文本”对象,然后绑定到数据表中的“Notes”字段,预览效果如下:
我们看到由于说明内容的长短不一,导致有些说明文字框有空白,有些文字则显示不全,当然可以通过设置“文本”对象的大小让所有文本都能显示完整,但这样会浪费很多空间。
康虎云报表有几个属性可以解决这个问题。
这些属性允许Band或对象自动调整高度来适应记录的内容。我们只需启用“文本”对象和Band的“伸缩”属性即可达到目的。另外,我们还可以使“文本”对象的自动伸展,我们需要设置另外几个属性。
“文本”对象能自动设置其高和宽来留出足够的空间显示内容。“自动宽度”和“伸缩”可以达到自动设置高和宽的目的。属性让组件自动调整宽度,以显示全部内容而不需要分割。 这个属性在文本只有一行并且不会影响右边组件显示的情况下非常有用。“伸缩”属性让组件自动调整高度,而不改变宽度的情况下,以显示容纳全部文本。这个属性有多个模式,用户可以在组件查看器中设置:
smDontStretch – 不拉伸 (默认值) smActualHeight – 自动调整每一行的高度适应全部文字。 smMaxHeight – 自动调整高度适应Band的最大高度(稍后我们会学到如何使用这种模式)
我们通过右键菜单或通过设置“伸缩模式”为smActualHeight。还可以启用Band的“伸缩”属性。然后预览效果,达到我们预期的目的:
正如你所见,当构造报表时,报表引擎用数据填充对象,并且如果启用了“伸缩”模式,则展开它们。 然后计算Band的高度,使每个对象有足够的空间。 如果Band的“伸缩”属性被禁用,则不执行此高度调整,并且Band将以设计中设置的高度显示。 在这种情况下,我们将看到具有较长文本的对象将仍然被拉伸,但是Band不会被拉伸,这导致文本的覆盖。
|