彩票走势图

XtraReports报表创建教程:穿透钻取报表创建方法

原创|其它|编辑:郝浩|2012-09-19 14:48:28.000|阅读 1190 次

概述:本教程描述了DevExpress报表控件XtraReports创建穿透钻取报表的步骤,其中详细报表类别可以通过单击在新窗口中调用,让您避免原报表中的兀余信息。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

本教程描述了DevExpress报表控件XtraReports创建穿透钻取报表的步骤,其中详细报表类别可以通过单击在新窗口中调用,让您避免原报表中的兀余信息。

步骤如下:

1、 打开MS Visual Studio(2008或2010),并在任何受支持的平台上创建一个新的应用程序,或者打开一个已有的应用程序。

2、 添加一个新的空白报表(名为MasterReport),并将该报表绑定到示例Northwind数据库(XtraReports安装包中附带的nwind.mdb文档)的"Categories" 标签上。

3、 从Field List字段列表,把CategoryName数据字段拖到报表的Detail band细节区域中,自动创建一个数据绑定控件。

如何运用DevExpress XtraReports创建穿透钻取报表

4、 添加另一个空白报表(名为DetailReport),并将它绑定到Northwind数据库的"Products"标签上。

5、 为报表添加参数,在Field List字段列表中,右键单击并选择Parameters部分,并选择Add Parameters。

如何运用DevExpress XtraReports创建穿透钻取报表

6、 通过这种方式,创建两个参数,命名为catId和catName。设置他们的Modifiers修饰符属性为Public、并为catId参数设置Parameter.Type属性为Int32。

如何运用DevExpress XtraReports创建穿透钻取报表

7、 创建一个ReportHeaderBand……

如何运用DevExpress XtraReports创建穿透钻取报表

并且,从Field List字段列表,把catName参数拖放到到创建区域上。

如何运用DevExpress XtraReports创建穿透钻取报表

8、 然后,为报表添加GroupHeaderBand。创建一个报表代表 "Products" 数据表中的数据。

DetailReport报表最终应该如下图所示。

如何运用DevExpress XtraReports创建穿透钻取报表

9、 设置报表的的XtraReportXtraReport.RequestParameters属性为false,单击省略号按钮,为XtraReportBase.FilterString属性调用FilterString编辑器。

如何运用DevExpress XtraReports创建穿透钻取报表

10、 使用编辑器,定义以下表达式: [CategoryID] = [Parameters.catId]。

如何运用DevExpress XtraReports创建穿透钻取报表

11、 切换回MasterReport,为创建的标签控件,处理以下事件:XRControl.BeforePrint, XRControl.PreviewClick和XRControl.PreviewMouseMove。

如何运用DevExpress XtraReports创建穿透钻取报表

12、 为这些事件处理程序引用以下代码。

注意,控件的XRControl.Tag属性用于存储当前数据字段的值。

C#

using System.Data;

using System.Windows.Forms;

using System.Drawing.Printing;

using DevExpress.XtraReports.UI;

// ... 

 

// Save the data for the current category to the label's Tag property. 

private void xrLabel1_BeforePrint(object sender, PrintEventArgs e) {

    ((XRLabel)sender).Tag = GetCurrentRow();

}

 

private void xrLabel1_PreviewClick(object sender, PreviewMouseEventArgs e) {

    // Create a new Detail Report instance. 

    DetailReport detailReport = new DetailReport();

 

    // Obtain the current category's ID and Name from the e.Brick.Value property, 

    // which stores an object assigned the label's Tag property. 

    detailReport.catId.Value = (int)((DataRowView)e.Brick.Value).Row["CategoryID"];

    detailReport.catName.Value = ((DataRowView)e.Brick.Value).Row["CategoryName"].ToString();

 

    // Show the detail report in a new modal window. 

    detailReport.ShowPreviewDialog();

}

 

// The following code changes the cursor to "hand" when it hovers the label,  

// so that it behaves as a common link. 

private void xrLabel1_PreviewMouseMove(object sender, ;PreviewMouseEventArgs e) {

    Cursor.Current = Cursors.Hand;

}

 

VB

Imports System.Data

Imports System.Windows.Forms

Imports System.Drawing.Printing

Imports DevExpress.XtraReports.UI

' ... 

 

' Save the data for the current category to the label's Tag property. 

Private Sub xrLabel1_BeforePrint(ByVal sender As Object, ByVal e _

As PrintEventArgs) Handles xrLabel1.BeforePrint

    CType(sender, XRLabel).Tag = GetCurrentRow()

End Sub 

 

Private Sub xrLabel1_PreviewClick(ByVal sender As Object, ByVal e _

As PreviewMouseEventArgs) Handles xrLabel1.PreviewClick

    ' Create a new Detail Report instance. 

    Dim detailReport As New DetailReport()

 

    ' Obtain the current category's ID and Name from the e.Brick.Value property, 

    ' which stores an object assigned the label's Tag property. 

    detailReport.catId.Value = CInt(Fix((CType(e.Brick.Value, DataRowView)).Row("CategoryID")))

    detailReport.catName.Value = (CType(e.Brick.Value, DataRowView)).Row("CategoryName").ToString()

 

    ' Show the detail report in a ;new modal window. 

    detailReport.ShowPreviewDialog()

End Sub 

 

' The following code changes the cursor to "hand" when it hovers the label,  

' so that it behaves as a common link. 

Private Sub xrLabel1_PreviewMouseMove(ByVal sender As Object, ByVal e _

As PreviewMouseEventArgs) Handles xrLabel1.PreviewMouseMove

    Cursor.Current = Cursors.Hand

End Sub 

穿透钻取报表就完成了。运行打印预览表单,并查看结果。

如何运用DevExpress XtraReports创建穿透钻取报表


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
XtraReports Suite

针对Windows Forms、ASP.NET、ASP.NET MVC、WPF,Silverlight和LightSwitch开发者的下一代跨平台报表方案

DevExpress Universal Subscription

行业领先的界面控件开发包,帮助企业构建卓越应用!

DevExpress WPF Subscription

高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。

DevExpress Silverlight Controls

高性价比高实用性的Silverlight用户界面控件套包,拥有大量的示例和帮助文档,开发者能够快速上手!

DevExpress WinForms Subscription

为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP