轉(zhuǎn)帖|使用教程|編輯:龔雪|2017-02-04 11:11:22.000|閱讀 584 次
概述:
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
交叉表報(bào)表是以交叉表形式呈現(xiàn)信息的報(bào)表。 交叉表 (或透視表) 類似于簡(jiǎn)單的普通數(shù)據(jù)綁定表格,但是改為在單個(gè)表格中呈現(xiàn)多維的分層級(jí)的信息,并含有每行和每列的自動(dòng)排序、計(jì)數(shù)、合計(jì)和累計(jì)。下面是在XtraReports中創(chuàng)建交叉報(bào)表的詳細(xì)教程:
1. 窗體布局
新建一個(gè)WinForm窗體,,拉入第三方控件SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl,無非就是設(shè)置空間Dock屬性,還有字體Text屬性等。
2. 創(chuàng)建一個(gè)Devexpress XtraReport報(bào)表文件,如圖:
報(bào)表布局步驟如下:
a,新建報(bào)表頭;
b,在工具箱拖入一個(gè)XRPivotGrid控件,用來承載交叉報(bào)表所需數(shù)據(jù)源;
c,選中XRPivotGrid控件,然后按照下圖設(shè)置屬性
d,點(diǎn)擊下面的設(shè)計(jì)器,在彈出的列編輯器中,分別修改新增的三列的綁定字段屬性,還有顯示名稱;
e,設(shè)置如圖屬性:
3.準(zhǔn)備數(shù)據(jù)源,如圖:
4. 從數(shù)據(jù)庫(kù)中獲取綁定數(shù)據(jù)源
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. 修改報(bào)表文件默認(rèn)構(gòu)造函數(shù),讓其可以接收數(shù)據(jù)源并綁定
public CrossTableRpt(DataSet ds) { InitializeComponent(); this.xrPivotGrid1.DataSource = ds; //this.xrPivotGrid1.OptionsView.ShowColumnHeaders = false;//不顯示列頭 //this.xrPivotGrid1.OptionsView.ShowDataHeaders = false;//不顯示數(shù)據(jù)頭 }
6. 處理顯示報(bào)表按鈕事件。把數(shù)據(jù)源傳遞給報(bào)表,并展示出來
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使用技巧?海量視頻課程以及最專業(yè)的DevExpress培訓(xùn)盡在。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn