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; }