经典水晶报表设计三则
一、经典水晶报表设计三则之“分栏”<br>
<br> 借助"多列格式化"功能实现。
<br>
<br>1. 启用"多列格式化"功能。
<br>
<br> (1) 进入“节专家”对话框,并在“节”中选择“详细资料”。
<br>
<br> (2) 在"公用"选项卡选中“多列格式化”,此时会出现“布局”选项卡。
<br>
<br> 2. 调整布局,实现分栏效果。
<br>
<br> 要想分两栏,调整“详细资料大小”的宽度,确保宽度的两倍小于去除页边距后的页面宽度,才能一行显示两行记录。
<br>
<br> 要想分三栏,调整“详细资料大小”的宽度,确保宽度的三倍小于去除页边距后的页面宽度,才能一行显示三行记录。
<br>
<br> 依次类推,实现其它栏数的分栏。
<br>
<br> 参考:“布局”选项卡(节专家)介绍
<br>
<br> 当选定详细信息部分且选中“公用”选项卡上的“多列格式化”框后,出现“布局”选项卡。
<br>
<br> 使用“布局”选项卡以多列格式设置报表。即,不是一直沿着页面向下打印数据,而是可以设置多列以使数据在列之间流动。还可以在页面上按先行后列的方式打印数据,即先打印每列中的第一个记录,然后打印每列中的第二个记录,然后打印第三个记录,依此类推。该对话框分为四个更小的框。
<br>
<br>详细资料大小
<br>
<br> 该框使您能够指定一个详细资料的尺寸(高度和宽度)。确定所希望的每个详细资料的宽度(基于字符数、字体大小,等等)并在“宽度”编辑框中输入该值。
<br>
<br> 确定所希望的每个详细资料的高度(基于详细资料内的行数、字体大小等)并在“高度”编辑框中输入该值。
<br>
<br>
<br>
<br>详细资料间距
<br>
<br> 使用该框可以指定希望在详细资料间留出的空白区域(间距、装订线,等等)。水平 = 详细资料的横向间距,垂直 = 详细信息的纵向间距。
<br>
<br> 确定希望允许的间距。在“水平”编辑框中输入数据水平间距,并在“垂直”编辑框中输入垂直间距。
<br>
<br>打印方向
<br>
<br> “打印方向”框使您能够指定程序在报表页上打印详细资料时所遵循的路径。选项有:
<br>
<br>先行后列
<br>
<br> 从左到右打印各列中的详细资料,即先打印第一列中的第一则详细资料,然后打印下一列中的第一则详细资料,依此类推。然后,当所有列都包含详细资料后,程序沿着页面向下移动,打印第一列中的第二则详细资料,然后打印第二列中的第二则详细资料,依此类推。
<br>
<br>先列后行
<br>
<br> 沿着第一列向下打印详细资料,然后沿着第二列,依此类推。
<br>
<br>格式化带有多列的组
<br>
<br> 如果希望程序使用为选定节指定的“宽度”、“详细资料间距”和“打印方向”格式化带有多列的组,则选择该复选框。
<br>
<br>二、经典水晶报表设计三则之“单击表头排序表格”
<br>
<br> 1. 新建一个字符串类型的参数字段,名称为 URL,用于传递 ASP.NET 程序的网址和网址的部分参数。比如:"<a href="http://www.nt.cn/cr.aspx?sort_field="" target="_blank">http://www.nt.cn/cr.aspx?sort_field="</a>。
<br>
<br> 2. 右击作为表头的文本字段,选择"设置文本格式",进入"格式化编辑器"对话框。
<br>
<br> 3. 选择"超级链接"选项卡,并设置超级链接类型为"Internet 上的网址"。
<br>
<br> 4. 单击超级链接信息的网站地址后面的公式的钮,输入公式 {?URL} + "name"。
<br>
<br> 5. 这样表头就变成了超级链接,而且指向 <a href="http://www.nt.cn/cr.aspx?sort_field=name" target="_blank">http://www.nt.cn/cr.aspx?sort_field=name</a>。
<br>
<br> 6. ASP.NET 程序在 Page_Load 事件里读取要排序的字段 sort_field,然后对水晶报表进行排序。
<br>7. 水晶报表排序编程实例
<br>
<br>Dim crReportDocument As ReportDocument
<br>
<br>Public Sub changeSortField(mySortFld As String, mySortDir As String)
<br>
<br>Dim crSortField As SortField
<br>
<br>Dim crSortDirection As SortDirection
<br>
<br>Dim crDatabaseFieldDefinition As DatabaseFieldDefinition
<br>
<br>For Each crSortField In crReportDocument.DataDefinition.SortFields
<br>
<br>If crSortField.Field.Name.ToString = mySortFld Then
<br>
<br>crDatabaseFieldDefinition = crReportDocument.Database.Tables(0).Fields(mySortFld.ToString)
<br>
<br>crSortField = crReportDocument.DataDefinition.SortFields(0)
<br>
<br>crSortField.Field = crDatabaseFieldDefinition
<br>
<br>If mySortDir = "Ascending" Then
<br>
<br>crSortField.SortDirection = SortDirection.AscendingOrder
<br>
<br>Else
<br>
<br>crSortField.SortDirection = SortDirection.DescendingOrder
<br>
<br>End If
<br>
<br>End If
<br>
<br>Next
<br>
<br>CrystalReportViewer1.ReportSource = crReportDocument
<br>
<br>End Sub
<br>三、经典水晶报表设计三则之“设计横向篇幅非常长又多列的表”
<br>
<br> 1、在“打印设置”对话框,选择“横向”选项以横向方向打印报表。
<br>
<br> 2、在“页面设置”对话框,缩小上边距、下边距、左边距、右边距。
<br>
<br> 3、纵向显示所有报表对象。
<br>
<br> (1) 将所有报表对象旋转270度,字段、文本、图片、页码等对象。
<br> 右击报表对象,选择"格式化",进入"格式化编辑器对话框"。选择"公用"选项卡,在"文本旋转"下拉列表框选择 270。
<br>
<br> (2) 纵向拉长对象,确保纵向上可以容纳显示。
<br>
<br> (3) 所有的节都要拉长,以容纳对象。
<br>
<br> (4) 页标题放在右上角,页码放在左下角或右下角。
<br>
<br> 参考:
<br>
<br> 1、“公用”选项卡(“格式设置编辑器”对话框)
<br>
<br> 使用“公用”选项卡为所需字段设置如取消、水平对齐以及将对象保持在一起等属性。
<br>
<br> 2、文本旋转
<br>
<br> 该列表包括可用于所选字段的旋转选项。使用“文本旋转”选项垂直对齐报表上的字段和基于文本的对象。
<br>转自: <a href="http://www.report99.com" target="_blank"><u><b>report99</b></u></a> --- <a href="http://www.report99.com/chanpin/chp_ort_6.htm" target="_blank"><u><b>经典水晶报表设计三则</b></u></a>
页:
[1]