Crystal reports 如何在Crystal Reports 2008中垂直堆叠字段
我正在使用Crystal Reports 2008开发一些报告(在oracle数据库上) 在我的设计/布局中有许多文本字段,我希望将它们放置在垂直堆栈中,中间没有空格 使用Oracle reports,我可以选择字段并执行align->stackvertical,但CR2008中似乎没有类似的选项 “对齐”选项有顶部、中间、底部、基线、左侧、中心、右侧和网格。这些都不是我想要的Crystal reports 如何在Crystal Reports 2008中垂直堆叠字段,crystal-reports,alignment,crystal-reports-2008,Crystal Reports,Alignment,Crystal Reports 2008,我正在使用Crystal Reports 2008开发一些报告(在oracle数据库上) 在我的设计/布局中有许多文本字段,我希望将它们放置在垂直堆栈中,中间没有空格 使用Oracle reports,我可以选择字段并执行align->stackvertical,但CR2008中似乎没有类似的选项 “对齐”选项有顶部、中间、底部、基线、左侧、中心、右侧和网格。这些都不是我想要的 有没有一个简单的方法可以做到这一点?还是我只需要手动定位它们?(可能使用对齐网格)如果从头开始创建报告,则应该能够使用
有没有一个简单的方法可以做到这一点?还是我只需要手动定位它们?(可能使用对齐网格)如果从头开始创建报告,则应该能够使用邮件标签向导,该向导将垂直堆叠所选字段
除此之外,唯一的选择是手动执行。我发现,在“选项”菜单中启用“捕捉到网格”有助于实现这一点,就像在每列中插入一条垂直参考线,然后拖放字段,使其捕捉到网格上一样。手动方法效果最好。正如Mark所建议的,除了对齐网格和垂直准则外,还应该使用多个详细信息和组标题部分。多个部分可以使事情更有条理 我尽可能避免使用Crystal Reports的“向导”——这是在使用该产品15年之后(从v4开始)。打开Crystal Report 选择要垂直显示其数据的字段, 转到格式字段->文本旋转 设置90(如果您需要从下至上的数据) 设置270(如果您需要从上到下的数据)。
:-)作为手动对齐字段以使其边框接触的替代方法,您可以使用“对象大小和位置”对话框。您可以通过打开“格式”菜单或字段的上下文菜单,然后选择菜单项“大小和位置…”来访问它 按照以下步骤将新字段添加到垂直堆叠字段列的底部:
VERTICAL\u SPACE\u-BETWEEN\u FIELDS
,在每个字段之间添加空格或使其重叠
脚本大约需要5秒钟来对齐一个字段。如果太慢,可以尝试减少或删除一些wait()
调用中的时间。我添加了wait()
这个脚本的一个优点是它是可链接的。完成后,仍将选择新对齐的字段。因此,如果您希望在该字段中添加另一个字段,则可以只使用CtrlR再次运行脚本,并准备单击中间的下一个字段。如果计划多次链接,可以在范围(1)
中增加1,并在mainAction()
下面添加wait()
,以便脚本自动重复。请记住,链接要求下一个要添加的字段在屏幕上可见,这样您就可以用鼠标选择它
我将脚本文件保存为“在Crystal Reports.sikuli中对齐字段”
#Crystal Reports:开始选定字段下的堆栈提示选定字段
字段之间的垂直间距=0.000
等待\u时间\u等待\u用户\u选择\u新建\u字段=1.5
def mainAction():
#读取堆栈底部的大小和位置
上面=dict()
openSizeAndPositionDialog()
高于['x']=copySelectedText()
moveToNextField(2)
高于['y']=copySelectedText()
moveToNextField()
高于['width']=copySelectedText()
moveToNextField(2)
高于['height']=copySelectedText()
打印(“上方”,上方)
等待(0.05)
类型(Key.ESC)
#计算堆栈中下一个字段的大小和位置
新字段=dict()
新的_字段['x']=高于['x']
新建_字段['y']=str(浮动(高于['y'])+浮动(高于['height'])+垂直_字段之间的空间_)
新的_字段['width']=高于['width']
新的_字段['height']=高于['height']
打印(“新字段”,新字段)
waitForUserToSelectNewField()
#设置大小和