DevExpress.XtraReports打印
?
使用DevExpress.XtraReports打印報(bào)表時(shí),分別采用兩種打印方式。以下面的打印樣式為列作簡(jiǎn)要說明:
?
第一種:表頭表尾保持不變,表中數(shù)據(jù)根據(jù)實(shí)際打印條數(shù)更改。如現(xiàn)在我要打印的學(xué)生為三個(gè),則得到如下的報(bào)表:
實(shí)現(xiàn)方式:1、新建在XtraReport1中,分別在PageHeader中設(shè)計(jì)表頭,在Detail中設(shè)計(jì)表尾,在pageFooter中設(shè)計(jì)出表中數(shù)據(jù)部分,如下圖所示:
????????????? 2、報(bào)表的C#代碼:
/// <summary>/// 自己構(gòu)造數(shù)據(jù)源,當(dāng)然 可以從程序 中傳入數(shù)據(jù) 源/// </summary>/// <returns></returns>private DataTable CreateTable(){DataTable dt = new DataTable();dt.Columns.Add("class");dt.Columns.Add("name");dt.Columns.Add("number");//添加數(shù)據(jù) DataRow dr1 = dt.NewRow();dr1.BeginEdit();dr1["class"] = "計(jì)算機(jī)一";dr1["name"] = "張三";dr1["number"] = "1234";dr1.EndEdit();dt.Rows.Add(dr1);DataRow dr2 = dt.NewRow();dr2.BeginEdit();dr2["class"] = "計(jì)算機(jī)一";dr2["name"] = "王五";dr2["number"] = "1235";dr2.EndEdit();dt.Rows.Add(dr2);DataRow dr3 = dt.NewRow();dr3.BeginEdit();dr3["class"] = "計(jì)算機(jī)二";dr3["name"] = "李四";dr3["number"] = "1236";dr3.EndEdit();dt.Rows.Add(dr3);return dt;}/// <summary>/// 給報(bào)表控件賦值/// </summary>private void DataBind(){DataTable dtSource = this.CreateTable();//學(xué)生信息this.myclasss.DataBindings.Add("Text", dtSource, "class");this.name.DataBindings.Add("Text", dtSource, "name");this.number.DataBindings.Add("Text", dtSource, "number");//打印日期this.dates.Text = DateTime.Now.ToShortDateString();}
??????????? 3、C#程序調(diào)用該報(bào)表代碼:
private void Print_Click(object sender, EventArgs e){XtraReport1 report = new XtraReport1();PreviewLocalizer.Active = new ChineaseReportLocalizer();report.ShowPreviewDialog();}
?
?
第二種:整張表的樣式都不變,當(dāng)需要打印三位學(xué)生信息時(shí),則會(huì)打印出三張報(bào)表。
效果如下:
實(shí)現(xiàn)方式:1、新建XtraReport2,在中設(shè)計(jì)整張打印報(bào)表(可以刪除),設(shè)計(jì)如下圖所示:
????????????? 2、C#代碼與上面代碼一致。
轉(zhuǎn)載于:https://www.cnblogs.com/hhl-kf/archive/2012/07/26/print.html
總結(jié)
以上是生活随笔為你收集整理的DevExpress.XtraReports打印的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。