什么是交叉报表呢?
官方回答:交叉表报表是以交叉表形式呈现信息的报表。 交叉表 (或透视表) 类似于简单的普通数据绑定表格,但是改为在单个表格中呈现多维的分层级的信息,并含有每行和每列的自动排序、计数、合计和累计。
依照惯例,我们先来看看我们最后实现的效果,如图:
案例场景:某公司可能有产品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 里面正常