Xtrareport 交叉报表

什么是交叉报表呢?

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

依照惯例,我们先来看看我们最后实现的效果,如图:

案例场景:某公司可能有产品1-12,分别属于产品类别1-3,现在要统计这些产品都被客户订购了多少数量。

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

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

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

那如何让数据以交叉形式显示呢?

我们还需要设置一个属性,如图:

第三步,准备数据源,如图:一个产品类别字段category,一个产品名称字段name,一个订购数量字段orderamount。

From1代码

  private DataSet getvalues()
        {
            DataSet ds = new DataSet();
            string constr = "server=192.168.100.222;user=sa;pwd=p@ssw1rd;database=pwd1";
            SqlConnection mycon = new SqlConnection(constr);
            try
            {
                mycon.Open();
                SqlCommand mycom = new SqlCommand("select * from mulittb",mycon);
                SqlDataAdapter dpt = new SqlDataAdapter(mycom);
                dpt.Fill(ds);
                mycon.Close();

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }

            return ds;
        
        }

Xtrareport 代码

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

对应的字段绑定 一定要在设计器里面绑定好!

  

如果把pivotGrid 放到Detail里面,预览的时候 会显示多个数据,放到GroupHeader 里面正常

原文地址:https://www.cnblogs.com/xiaowie/p/8985551.html