DevExpress的工具列可設定為顯示或隱藏,顯示方式可顯示為快顯視窗和在父視窗內部顯示,代碼實現如下:
//執行個體化報表,添加綁定列印報告工具列和具體按鈕顯示 XtraReport report = new rptSYDWHuiZong(JGSYCode); PrintControl printCtrl = new PrintControl(); printCtrl.PrintingSystem = report.PrintingSystem; PrintBarManager printBarMgr = new PrintBarManager(); printBarMgr .ItemClick +=new DevExpress.XtraBars.ItemClickEventHandler(printBarMgr_ItemClick); printBarMgr.Form = printCtrl; printBarMgr.Initialize(printCtrl); printBarMgr.MainMenu.Visible = false; printBarMgr.AllowCustomization = false; printBarMgr.AllowMoveBarOnToolbar = false; printCtrl.PrintingSystem.SetCommandVisibility( new PrintingSystemCommand[]{ //PrintingSystemCommand.Find, PrintingSystemCommand.Open, PrintingSystemCommand.Save, //PrintingSystemCommand.Scale, PrintingSystemCommand.Watermark, PrintingSystemCommand.Parameters, PrintingSystemCommand.ExportMht, //PrintingSystemCommand.ExportXls , //PrintingSystemCommand.ExportXlsx , PrintingSystemCommand.ExportPdf , PrintingSystemCommand.ExportTxt , PrintingSystemCommand.ExportRtf, PrintingSystemCommand.ExportXps, PrintingSystemCommand.ExportHtm, PrintingSystemCommand.ExportGraphic, PrintingSystemCommand.Zoom , PrintingSystemCommand.SendCsv, PrintingSystemCommand.SendFile, PrintingSystemCommand.SendGraphic, PrintingSystemCommand.SendMht, PrintingSystemCommand.SendPdf, PrintingSystemCommand.SendRtf, PrintingSystemCommand.SendTxt, PrintingSystemCommand.SendXls, PrintingSystemCommand.SendXlsx, PrintingSystemCommand.SendXps, PrintingSystemCommand.EditPageHF, PrintingSystemCommand.ClosePreview, PrintingSystemCommand.Scale, PrintingSystemCommand.ExportCsv, PrintingSystemCommand.FillBackground, PrintingSystemCommand.HandTool, PrintingSystemCommand.Zoom, PrintingSystemCommand.Find , PrintingSystemCommand.PageSetup , PrintingSystemCommand.ShowFirstPage , PrintingSystemCommand.ShowLastPage, PrintingSystemCommand.ZoomToPageWidth , PrintingSystemCommand.PageLayoutContinuous }, CommandVisibility.None); report.CreateDocument(); panelMain.Controls.Add(printCtrl); printCtrl.Dock = DockStyle.Fill;
在tabpage子表單 裡顯示:
void frmReportInner_Load(object sender, EventArgs e) { //執行個體化報表,添加綁定列印報告工具列和具體按鈕顯示 XtraReport rpt = new rptDemo(); PrintControl printCtrl = new PrintControl(); printCtrl.PrintingSystem = rpt.PrintingSystem; PrintBarManager printBarMgr = new PrintBarManager(); printBarMgr.Form = printCtrl; printBarMgr.Initialize(printCtrl); printBarMgr.MainMenu.Visible = false; printBarMgr.AllowCustomization = false; printCtrl.PrintingSystem.SetCommandVisibility( new PrintingSystemCommand[]{ //PrintingSystemCommand.Find, //PrintingSystemCommand.Open, //PrintingSystemCommand.Save, //PrintingSystemCommand.Scale, //PrintingSystemCommand.Watermark, PrintingSystemCommand.Parameters, PrintingSystemCommand.ExportMht, PrintingSystemCommand.ExportRtf, PrintingSystemCommand.ExportXps, PrintingSystemCommand.ExportHtm, PrintingSystemCommand.ExportGraphic, PrintingSystemCommand.SendCsv, PrintingSystemCommand.SendFile, PrintingSystemCommand.SendGraphic, PrintingSystemCommand.SendMht, PrintingSystemCommand.SendPdf, PrintingSystemCommand.SendRtf, PrintingSystemCommand.SendTxt, PrintingSystemCommand.SendXls, PrintingSystemCommand.SendXlsx, PrintingSystemCommand.SendXps, PrintingSystemCommand.EditPageHF, PrintingSystemCommand.ClosePreview }, CommandVisibility.None); rpt.CreateDocument(); xtraTabPage1.Controls.Add(printCtrl); printCtrl.Dock = DockStyle.Fill; XtraReport rpt2 = new rptDemo(); PrintControl printCtrl2 = new PrintControl(); printCtrl2.PrintingSystem = rpt2.PrintingSystem; PrintBarManager printBarMgr2 = new PrintBarManager(); printBarMgr2.Form = printCtrl2; printBarMgr2.Initialize(printCtrl2); printBarMgr2.MainMenu.Visible = false; printBarMgr2.AllowCustomization = false; printCtrl2.PrintingSystem.SetCommandVisibility( new PrintingSystemCommand[]{ PrintingSystemCommand.Find, PrintingSystemCommand.Open, PrintingSystemCommand.Save, PrintingSystemCommand.Scale, PrintingSystemCommand.Parameters, PrintingSystemCommand.Watermark, PrintingSystemCommand.ExportMht, PrintingSystemCommand.ExportRtf, PrintingSystemCommand.ExportXps, PrintingSystemCommand.ExportHtm, PrintingSystemCommand.ExportGraphic, PrintingSystemCommand.SendCsv, PrintingSystemCommand.SendFile, PrintingSystemCommand.SendGraphic, PrintingSystemCommand.SendMht, PrintingSystemCommand.SendPdf, PrintingSystemCommand.SendRtf, PrintingSystemCommand.SendTxt, PrintingSystemCommand.SendXls, PrintingSystemCommand.SendXlsx, PrintingSystemCommand.SendXps, PrintingSystemCommand.EditPageHF, PrintingSystemCommand.ClosePreview, PrintingSystemCommand.Customize }, CommandVisibility.None); rpt2.CreateDocument(); xtraTabPage2.Controls.Add(printCtrl2); printCtrl2.Dock = DockStyle.Fill; } }}
報表內部資料繫結:
public rptDemo() { InitializeComponent(); BindReport(); } //綁定報表 private void BindReport() { DataSet ds = CreateDataSource(); Report.DataSource = ds; cellDeptName.DataBindings.Add("Text", ds, "col1"); cellBZTotal.DataBindings.Add("Text", ds, "col2"); cellBZXingzheng.DataBindings.Add("Text", ds, "col3"); this.cellBZShiye.DataBindings.Add("Text", ds, "col4"); this.cellBZGongqin.DataBindings.Add("Text", ds, "col5"); this.cellBZOther.DataBindings.Add("Text", ds, "col6"); this.cellShiyouTotal.DataBindings.Add("Text", ds, "col7"); this.cellShiyouXingzheng.DataBindings.Add("Text", ds, "col8"); this.cellShiyouShiye.DataBindings.Add("Text", ds, "col9"); this.cellShiyouGongqin.DataBindings.Add("Text", ds, "col10"); this.cellShiyouOther.DataBindings.Add("Text", ds, "col11"); } DataSet CreateDataSource() { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("col1", typeof(String))); dt.Columns.Add(new DataColumn("col2", typeof(String))); dt.Columns.Add(new DataColumn("col3", typeof(String))); dt.Columns.Add(new DataColumn("col4", typeof(String))); dt.Columns.Add(new DataColumn("col5", typeof(String))); dt.Columns.Add(new DataColumn("col6", typeof(String))); dt.Columns.Add(new DataColumn("col7", typeof(String))); dt.Columns.Add(new DataColumn("col8", typeof(String))); dt.Columns.Add(new DataColumn("col9", typeof(String))); dt.Columns.Add(new DataColumn("col10", typeof(String))); dt.Columns.Add(new DataColumn("col11", typeof(String))); for (int i = 0; i < 110; i++) { DataRow row = dt.NewRow(); row[0] = i.ToString(); row[1] = i.ToString(); row[2] = i.ToString(); row[3] = i.ToString(); row[4] = i.ToString(); row[5] = i.ToString(); row[6] = i.ToString(); row[7] = i.ToString(); row[8] = i.ToString(); row[9] = i.ToString(); row[10] = i.ToString(); dt.Rows.Add(row); } DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; }