彩票走势图

[DevExpress]如何在XtraReports中创建交叉报表

转帖|使用教程|编辑:龚雪|2017-02-04 11:11:22.000|阅读 517 次

概述:

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

交叉表报表是以交叉表形式呈现信息的报表。 交叉表 (或透视表) 类似于简单的普通数据绑定表格,但是改为在单个表格中呈现多维的分层级的信息,并含有每行和每列的自动排序、计数、合计和累计。下面是在XtraReports中创建交叉报表的详细教程:

1. 窗体布局

新建一个WinForm窗体,,拉入第三方控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,无非就是设置空间Dock属性,还有字体Text属性等。

2. 创建一个Devexpress XtraReport报表文件,如图:

报表布局步骤如下:

a,新建报表头;

b,在工具箱拖入一个XRPivotGrid控件,用来承载交叉报表所需数据源;

c,选中XRPivotGrid控件,然后按照下图设置属性

d,点击下面的设计器,在弹出的列编辑器中,分别修改新增的三列的绑定字段属性,还有显示名称;

e,设置如图属性:

3.准备数据源,如图:

4. 从数据库中获取绑定数据源

private DataSet BindRpt() 
{ 
    DataSet ds = new DataSet(); 
    try 
    { 
        SqlConnection con = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=ReportDeom"); 
        SqlDataAdapter adapter; 
        con.Open(); 
        SqlCommand cmd = new SqlCommand("SELECT * FROM CrossRptData where category=@name OR @name='' ", con); 
        SqlParameter[] paras = new SqlParameter[]{ 
            new SqlParameter("@name",txtName.Text.Trim()) 
        }; 
        cmd.Parameters.AddRange(paras); 
        adapter = new SqlDataAdapter(cmd); 
        adapter.Fill(ds, "CrossTableRpt"); ; 
        con.Close(); 
    } 
    catch (Exception ex) 
    { 
        throw ex; 
    } 
    return ds; 
}

5. 修改报表文件默认构造函数,让其可以接收数据源并绑定

public CrossTableRpt(DataSet ds) 
{ 
    InitializeComponent(); 
    this.xrPivotGrid1.DataSource = ds; 
    //this.xrPivotGrid1.OptionsView.ShowColumnHeaders = false;//不显示列头 
    //this.xrPivotGrid1.OptionsView.ShowDataHeaders = false;//不显示数据头 
} 

6. 处理显示报表按钮事件。把数据源传递给报表,并展示出来

private void btnShowReport_Click(object sender, EventArgs e) 
{ 
    DataSet ds = BindRpt(); 
    CrossTableRpt Rpt = new CrossTableRpt(ds); 
    this.documentViewer1.DocumentSource = Rpt; 
    Rpt.CreateDocument(); 
}

(稿源:Mr.Ming博客)

想要了解更多DevExpress使用技巧?海量视频课程以及最专业的DevExpress培训尽在。

 


标签:

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


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP