【问题标题】:How to grow height or all fields of a "textboxes made" grid if one column's height grows in crystal reports?如果水晶报告中一列的高度增加,如何增加“文本框制作”网格的高度或所有字段?
【发布时间】:2013-12-20 14:53:46
【问题描述】:

我附上一张图片来详细说明我想知道的

水晶报表没有任何特定的网格控件

我已经为 vs2010 使用水晶报表 2011 中的文本框制作了一个网格,但问题是,如果其中一列增长,我想增长一行的所有文本框,因为我已将网格放在详细信息部分水晶报告。 在附加的图片中,您可以看到,描述的高度增加了,因为额外的文本和“可以增长”被选中,我想如果描述增加整行的高度应该增加。

我使用文本框制作列,因为如果我使用框或其他矩形控件,它的布局非常糟糕,我将文本框隐藏在右侧和上边框,并将所有字段连接在一起形成一行。

提前致谢。

【问题讨论】:

    标签: .net crystal-reports crystal-reports-2008 crystal-reports-xi


    【解决方案1】:

    Crystals 文本框很糟糕,如上所示,它们的格式不正确且不一致。以下不是一个出色的解决方案;但我们围绕生成一致且格式良好的扩展表的工作。

    我建议您不要使用文本框,而是使用普通框和线条对象(图形对象)。

    使用一个框作为表格的轮廓,绘制它使其位于标题的顶部并延伸到组的底部。然后这将动态扩展并为您提供一致的边框。

    然后,我将在主要部分下方添加另一个详细信息部分。用延伸到盒子的水平线填充它。然后,这将在每个详细信息行下进行规则。您可以在标题中执行相同的操作。

    使用线条工具绘制垂直线,连接外框的顶部和底部。

    如果放置正确,线条和框将根据您的数据进行垂直调整。确保包含水平线的所有部分都被挤压,因此该线周围没有“空白”。如果您在匹配页脚时遇到问题,也可以取消最后一条水平线。

    【讨论】:

    • 希望听到解决方案;除了我上面的。
    • 不知道为什么这被否决了,这是我们已经使用了很长时间的解决方案,虽然它并不完美,但我不知道水晶有更好的解决方案。跨度>
    【解决方案2】:

    不要使用文本框的边框来制作单元格边框,而是使用线条在文本框上方一横线和文本框下方一横线创建边框。两条线的宽度都与细节部分一样长。 对于垂直边框,使用垂直线。从组标题部分的顶部开始,到详细信息部分的底部结束。 现在当内容很大时单元格的高度增加,那么所有的行都会相应地设置..

    【讨论】:

    • +1 感谢您的回答,它使我找到了解决我遇到的类似问题的方法。如果您有兴趣,这里是link
    【解决方案3】:

    如果删除底部和右侧边框,则可以增加字段的高度,以便每个新行与上面的行重叠,并且每个新列与前一列重叠...在下面的示例图像中,我已经移动MTP 在网格上向下和跨过一个槽口,以证明它与上方和左侧的框略有重叠。将左上角的标签/文本框移到后面(右键单击->移动->到后面)并添加每个新控件都在顶部(从左到右,逐行),用白色背景覆盖前一个框的边缘。

    我将网格大小更改为 0.049 厘米 (0.05) 以获得最佳的框之间的配合。

    我对最后两个 CanGrow=True 的框使用 Line 对象,我希望它们具有相同的高度。

    不要向文本框添加底部边框,将 Line 对象添加到与其边框重叠的两侧(用于指导),设置线条的 ExtendToBottomOfSection = True... 然后在两个文本框下方绘制一条最终水平线,开始于一侧 Line 对象一直到另一侧,也设置为 ExtendToBottomOfSection = True。这将始终在详细信息部分的底部绘制水平线,以便最后两个框看起来像是延伸到该部分的底部。 (在图像中,我将右边框向左移动了一点以分隔项目)

    这必须在该部分的末尾。如果您想要以下内容,请按照之前评论者的正确建议添加一个新的详细信息部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 2017-10-13
      • 2012-04-22
      • 1970-01-01
      • 2012-10-13
      相关资源
      最近更新 更多