原创|其它|编辑:郝浩|2012-10-12 17:04:30.000|阅读 4842 次
概述:知道如何用 DevExpress的进行报表打印设计吗?本文将和大家分享一下制作过程。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
知道如何用 DevExpress的进行报表打印设计吗?本文和大家分享一下制作过程:
图片如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace Demo
{
/// <summary>
/// 文件名称:DesignReportControl.cs
/// 功能摘要:封装报表设计模块。
/// 原始作者:kingmond@126.com
/// 编写日期:2009/12/07
/// 使用说明:请参照各个方法函数的定义。
/// 修改记录:
/// 功能 日期 修改人
/// </summary>
public partial class DesignReportControl : UserControl
{
/// <summary>
/// 构造函数
/// </summary>
public DesignReportControl()
{
InitializeComponent();
}
/// <summary>
/// 设计面板属性
/// </summary>
public DevExpress.XtraReports.UserDesigner.XRDesignPanel DesignPanel
{
get { return this.xrDesignPanel1; }
}
}
}
namespace Demo
{
partial class DesignReportControl
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager();
this.panelContainer2 = new DevExpress.XtraBars.Docking.DockPanel();
this.panelDesignReportExplorer = new DevExpress.XtraBars.Docking.DockPanel();
this.controlContainer1 = new DevExpress.XtraBars.Docking.ControlContainer();
this.xrDesignReportExplorer1 = new DevExpress.XtraReports.UserDesigner.XRDesignReportExplorer();
this.xrDesignPanel1 = new DevExpress.XtraReports.UserDesigner.XRDesignPanel();
this.panelDesignPropertyGrid = new DevExpress.XtraBars.Docking.DockPanel();
this.controlContainer2 = new DevExpress.XtraBars.Docking.ControlContainer();
this.xrDesignPropertyGrid1 = new DevExpress.XtraReports.UserDesigner.XRDesignPropertyGrid();
this.panelContainer1 = new DevExpress.XtraBars.Docking.DockPanel();
this.panelFieldList = new DevExpress.XtraBars.Docking.DockPanel();
this.dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
this.xrDesignFieldList1 = new DevExpress.XtraReports.UserDesigner.XRDesignFieldList();
this.panelDesignToolBox = new DevExpress.XtraBars.Docking.DockPanel();
this.dockPanel2_Container = new DevExpress.XtraBars.Docking.ControlContainer();
this.xrDesignToolBox1 = new DevExpress.XtraReports.UserDesigner.XRDesignToolBox();
((System.ComponentModel.ISupportInitialize)(this.dockManager1)).BeginInit();
this.panelContainer2.SuspendLayout();
this.panelDesignReportExplorer.SuspendLayout();
this.controlContainer1.SuspendLayout();
this.panelDesignPropertyGrid.SuspendLayout();
this.controlContainer2.SuspendLayout();
this.panelContainer1.SuspendLayout();
this.panelFieldList.SuspendLayout();
this.dockPanel1_Container.SuspendLayout();
this.panelDesignToolBox.SuspendLayout();
this.dockPanel2_Container.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.xrDesignToolBox1)).BeginInit();
this.SuspendLayout();
//
// dockManager1
//
this.dockManager1.Form = this;
this.dockManager1.RootPanels.AddRange(new DevExpress.XtraBars.Docking.DockPanel[] {
this.panelContainer2,
this.panelContainer1});
this.dockManager1.TopZIndexControls.AddRange(new string[] {
"DevExpress.XtraBars.BarDockControl",
"System.Windows.Forms.StatusBar"});
//
// panelContainer2
//
this.panelContainer2.Controls.Add(this.panelDesignReportExplorer);
this.panelContainer2.Controls.Add(this.panelDesignPropertyGrid);
this.panelContainer2.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right;
this.panelContainer2.ID = new System.Guid("34e36bc4-3508-42a0-b102-c4c3eecfe6f5");
this.panelContainer2.Location = new System.Drawing.Point(243, 0);
this.panelContainer2.Name = "panelContainer2";
this.panelContainer2.Size = new System.Drawing.Size(200, 249);
this.panelContainer2.Text = "panelContainer2";
//
// panelDesignReportExplorer
//
this.panelDesignReportExplorer.Controls.Add(this.controlContainer1);
this.panelDesignReportExplorer.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill;
this.panelDesignReportExplorer.ID = new System.Guid("a54ab865-fc8c-44dd-8ae2-d0a9a4579186");
this.panelDesignReportExplorer.Location = new System.Drawing.Point(0, 0);
this.panelDesignReportExplorer.Name = "panelDesignReportExplorer";
this.panelDesignReportExplorer.Options.ShowCloseButton = false;
this.panelDesignReportExplorer.Options.ShowMaximizeButton = false;
this.panelDesignReportExplorer.Size = new System.Drawing.Size(200, 124);
this.panelDesignReportExplorer.TabText = "Design Report Explorer";
this.panelDesignReportExplorer.Text = "Design Report Explorer";
//
// controlContainer1
//
this.controlContainer1.Controls.Add(this.xrDesignReportExplorer1);
this.controlContainer1.Location = new System.Drawing.Point(3, 21);
this.controlContainer1.Name = "controlContainer1";
this.controlContainer1.Size = new System.Drawing.Size(194, 100);
this.controlContainer1.TabIndex = 0;
//
// xrDesignReportExplorer1
//
this.xrDesignReportExplorer1.AllowDrop = true;
this.xrDesignReportExplorer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.xrDesignReportExplorer1.HideSelection = false;
this.xrDesignReportExplorer1.ImageIndex = 0;
this.xrDesignReportExplorer1.Location = new System.Drawing.Point(0, 0);
this.xrDesignReportExplorer1.Name = "xrDesignReportExplorer1";
this.xrDesignReportExplorer1.SelectedImageIndex = 0;
this.xrDesignReportExplorer1.Size = new System.Drawing.Size(194, 100);
this.xrDesignReportExplorer1.TabIndex = 0;
this.xrDesignReportExplorer1.XRDesignPanel = this.xrDesignPanel1;
//
// xrDesignPanel1
//
this.xrDesignPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.xrDesignPanel1.Location = new System.Drawing.Point(183, 0);
this.xrDesignPanel1.Name = "xrDesignPanel1";
this.xrDesignPanel1.Size = new System.Drawing.Size(60, 249);
this.xrDesignPanel1.TabIndex = 4;
this.xrDesignPanel1.Text = "xrDesignPanel1";
//
// panelDesignPropertyGrid
//
this.panelDesignPropertyGrid.Controls.Add(this.controlContainer2);
this.panelDesignPropertyGrid.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill;
this.panelDesignPropertyGrid.ID = new System.Guid("0e48f33e-2834-4cbf-ab1e-ca98b5525fa9");
this.panelDesignPropertyGrid.Location = new System.Drawing.Point(0, 124);
this.panelDesignPropertyGrid.Name = "panelDesignPropertyGrid";
this.panelDesignPropertyGrid.Options.ShowCloseButton = false;
this.panelDesignPropertyGrid.Options.ShowMaximizeButton = false;
this.panelDesignPropertyGrid.Size = new System.Drawing.Size(200, 125);
this.panelDesignPropertyGrid.TabText = "Design Property";
this.panelDesignPropertyGrid.Text = "Design Property";
//
// controlContainer2
//
this.controlContainer2.Controls.Add(this.xrDesignPropertyGrid1);
this.controlContainer2.Location = new System.Drawing.Point(3, 21);
this.controlContainer2.Name = "controlContainer2";
this.controlContainer2.Size = new System.Drawing.Size(194, 101);
this.controlContainer2.TabIndex = 0;
//
// xrDesignPropertyGrid1
//
this.xrDesignPropertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.xrDesignPropertyGrid1.Location = new System.Drawing.Point(0, 0);
this.xrDesignPropertyGrid1.Name = "xrDesignPropertyGrid1";
this.xrDesignPropertyGrid1.Size = new System.Drawing.Size(194, 101);
this.xrDesignPropertyGrid1.TabIndex = 0;
this.xrDesignPropertyGrid1.XRDesignPanel = this.xrDesignPanel1;
//
// panelContainer1
//
this.panelContainer1.Controls.Add(this.panelFieldList);
this.panelContainer1.Controls.Add(this.panelDesignToolBox);
this.panelContainer1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left;
this.panelContainer1.ID = new System.Guid("a9ce15ce-8424-4a61-9c2a-77347d0d6af5");
this.panelContainer1.Location = new System.Drawing.Point(0, 0);
this.panelContainer1.Name = "panelContainer1";
this.panelContainer1.Size = new System.Drawing.Size(183, 249);
this.panelContainer1.Text = "panelContainer1";
//
// panelFieldList
//
this.panelFieldList.Controls.Add(this.dockPanel1_Container);
this.panelFieldList.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill;
this.panelFieldList.ID = new System.Guid("21cf11bb-063d-4ab2-abef-d4173813b2cf");
this.panelFieldList.Location = new System.Drawing.Point(0, 0);
this.panelFieldList.Name = "panelFieldList";
this.panelFieldList.Options.ShowCloseButton = false;
this.panelFieldList.Options.ShowMaximizeButton = false;
this.panelFieldList.Size = new System.Drawing.Size(183, 124);
this.panelFieldList.TabText = "FieldList";
this.panelFieldList.Text = "FieldList";
//
// dockPanel1_Container
//
this.dockPanel1_Container.Controls.Add(this.xrDesignFieldList1);
this.dockPanel1_Container.Location = new System.Drawing.Point(3, 21);
this.dockPanel1_Container.Name = "dockPanel1_Container";
this.dockPanel1_Container.Size = new System.Drawing.Size(177, 100);
this.dockPanel1_Container.TabIndex = 0;
//
// xrDesignFieldList1
//
this.xrDesignFieldList1.Dock = System.Windows.Forms.DockStyle.Fill;
this.xrDesignFieldList1.HideSelection = false;
this.xrDesignFieldList1.ImageIndex = 0;
this.xrDesignFieldList1.Location = new System.Drawing.Point(0, 0);
this.xrDesignFieldList1.Name = "xrDesignFieldList1";
this.xrDesignFieldList1.SelectedImageIndex = 0;
this.xrDesignFieldList1.Size = new System.Drawing.Size(177, 100);
this.xrDesignFieldList1.TabIndex = 0;
this.xrDesignFieldList1.XRDesignPanel = this.xrDesignPanel1;
//
// panelDesignToolBox
//
this.panelDesignToolBox.Controls.Add(this.dockPanel2_Container);
this.panelDesignToolBox.Dock = DevExpress.XtraBars.Docking.DockingStyle.Fill;
this.panelDesignToolBox.ID = new System.Guid("5902e9b4-da5a-4b7b-8350-24cd28bcc53d");
this.panelDesignToolBox.Location = new System.Drawing.Point(0, 124);
this.panelDesignToolBox.Name = "panelDesignToolBox";
this.panelDesignToolBox.Options.ShowCloseButton = false;
this.panelDesignToolBox.Options.ShowMaximizeButton = false;
this.panelDesignToolBox.Size = new System.Drawing.Size(183, 125);
this.panelDesignToolBox.TabText = "DesignToolBox";
this.panelDesignToolBox.Text = "DesignToolBox";
//
// dockPanel2_Container
//
this.dockPanel2_Container.Controls.Add(this.xrDesignToolBox1);
this.dockPanel2_Container.Location = new System.Drawing.Point(3, 21);
this.dockPanel2_Container.Name = "dockPanel2_Container";
this.dockPanel2_Container.Size = new System.Drawing.Size(177, 101);
this.dockPanel2_Container.TabIndex = 0;
//
// xrDesignToolBox1
//
this.xrDesignToolBox1.ActiveGroup = null;
this.xrDesignToolBox1.AllowSelectedLink = true;
this.xrDesignToolBox1.Appearance.ItemDisabled.Options.UseTextOptions = true;
this.xrDesignToolBox1.Appearance.ItemDisabled.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.xrDesignToolBox1.Appearance.ItemDisabled.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
this.xrDesignToolBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.xrDesignToolBox1.HotTrackedItemCursor = System.Windows.Forms.Cursors.Arrow;
this.xrDesignToolBox1.Location = new System.Drawing.Point(0, 0);
this.xrDesignToolBox1.Name = "xrDesignToolBox1";
this.xrDesignToolBox1.Size = new System.Drawing.Size(177, 101);
this.xrDesignToolBox1.TabIndex = 0;
this.xrDesignToolBox1.Text = "xrDesignToolBox1";
this.xrDesignToolBox1.View = new DevExpress.XtraNavBar.ViewInfo.VSToolBoxViewInfoRegistrator();
this.xrDesignToolBox1.XRDesignPanel = this.xrDesignPanel1;
//
// DesignReportControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.xrDesignPanel1);
this.Controls.Add(this.panelContainer1);
this.Controls.Add(this.panelContainer2);
this.Name = "DesignReportControl";
this.Size = new System.Drawing.Size(443, 249);
((System.ComponentModel.ISupportInitialize)(this.dockManager1)).EndInit();
this.panelContainer2.ResumeLayout(false);
this.panelDesignReportExplorer.ResumeLayout(false);
this.controlContainer1.ResumeLayout(false);
this.panelDesignPropertyGrid.ResumeLayout(false);
this.controlContainer2.ResumeLayout(false);
this.panelContainer1.ResumeLayout(false);
this.panelFieldList.ResumeLayout(false);
this.dockPanel1_Container.ResumeLayout(false);
this.panelDesignToolBox.ResumeLayout(false);
this.dockPanel2_Container.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.xrDesignToolBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraBars.Docking.DockManager dockManager1;
private DevExpress.XtraBars.Docking.DockPanel panelFieldList;
private DevExpress.XtraBars.Docking.ControlContainer dockPanel1_Container;
private DevExpress.XtraBars.Docking.DockPanel panelDesignToolBox;
private DevExpress.XtraBars.Docking.ControlContainer dockPanel2_Container;
private DevExpress.XtraBars.Docking.DockPanel panelContainer1;
private DevExpress.XtraBars.Docking.DockPanel panelContainer2;
private DevExpress.XtraBars.Docking.DockPanel panelDesignReportExplorer;
private DevExpress.XtraBars.Docking.ControlContainer controlContainer1;
private DevExpress.XtraBars.Docking.DockPanel panelDesignPropertyGrid;
private DevExpress.XtraBars.Docking.ControlContainer controlContainer2;
private DevExpress.XtraReports.UserDesigner.XRDesignPanel xrDesignPanel1;
private DevExpress.XtraReports.UserDesigner.XRDesignFieldList xrDesignFieldList1;
private DevExpress.XtraReports.UserDesigner.XRDesignToolBox xrDesignToolBox1;
private DevExpress.XtraReports.UserDesigner.XRDesignReportExplorer xrDesignReportExplorer1;
private DevExpress.XtraReports.UserDesigner.XRDesignPropertyGrid xrDesignPropertyGrid1;
}
}
图片如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
namespace Demo
{
/// <summary>
/// 文件名称:DesignReportForm.cs
/// 功能摘要:封装报表设计模块。
/// 原始作者:kingmond@126.com
/// 编写日期:2007/12/07
/// 使用说明:请参照各个方法函数的定义。
/// 修改记录:
/// 功能 日期 修改人
/// </summary>
public partial class DesignReportForm : Form
{
/// <summary>
/// 构造函数
/// </summary>
public DesignReportForm(string fileName)
{
InitializeComponent();
this.xrDesignToolBar1.XRDesignPanel = this.designReportControl1.DesignPanel;
this.xrDesignFormattingToolBar1.XRDesignPanel = this.designReportControl1.DesignPanel;
this.designReportControl1.DesignPanel.FileName = fileName;
this.txtFileName.Caption = fileName;
this.xrDesignToolBar1.Buttons[0].Visible = false;
}
/// <summary>
/// 打开设计对话框
/// </summary>
/// <param name="report">报表对象</param>
public DialogResult ShowDialog(XtraReport report)
{
this.designReportControl1.DesignPanel.OpenReport(report);
return this.ShowDialog();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using DevExpress.XtraReports.UI;
using DevExpress.XtraPrinting;
namespace Demo
{
/// <summary>
/// 文件名称:ReportUtil.cs
/// 功能摘要:封装报表设计工具。
/// 原始作者:kingmond@126.com
/// 编写日期:2007/12/07
/// 使用说明:请参照各个方法函数的定义。
/// 修改记录:
/// 功能 日期 修改人
/// </summary>
class ReportUtil
{
/// <summary>
/// 设计打印报表
/// </summary>
/// <param name="reportFile">报表格式文件</param>
/// <param name="schemaFile">数据集格式文件</param>
public static void DesignReport(string reportFile, string schemaFile)
{
XtraReport rpt = XtraReport.FromFile(reportFile, true);
DataSet ds = new DataSet();
ds.ReadXmlSchema(schemaFile);
rpt.DataSource = ds;
DesignReportForm dlg = new DesignReportForm(reportFile);
dlg.ShowDialog(rpt);
}
/// <summary>
/// 打开显示报表
/// </summary>
/// <param name="printingSystem">打印系统</param>
/// <param name="reportFile">报表格式文件</param>
/// <param name="dataSource">数据源</param>
public static void OpenReport(PrintingSystem printingSystem, string reportFile, object dataSource)
{
XtraReport rpt = XtraReport.FromFile(reportFile, true);
rpt.DataSource = dataSource;
rpt.PrintingSystem = printingSystem;
rpt.CreateDocument();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
using DevExpress.XtraPrinting;
namespace Demo
{
/// <summary>
/// 文件名称:PrintPreviewControl.cs
/// 功能摘要:封装打印预览组件。
/// 原始作者:kingmond@126.com
/// 编写日期:2007/12/07
/// 使用说明:请参照各个方法函数的定义。
/// 修改记录:
/// 功能 日期 修改人
/// </summary>
public partial class PrintPreviewControl : UserControl
{
/// <summary>
/// 构造函数
/// </summary>
public PrintPreviewControl()
{
InitializeComponent();
}
public void OpenReport(string reportFile, object dataSource)
{
ReportUtil.OpenReport(this.printingSystem1, reportFile, dataSource);
}
}
}
{
string path = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf('\\'));
ReportUtil.DesignReport(path + @"\ReportSchema\Delivery.repx",
path + @"\DataSourceSchema\DeliveryDataSet.xml");
}
{
string path = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf('\\'));
this.printPreviewControl1.OpenReport(path + @"\ReportSchema\Delivery.repx", GetDeliveryDataSet());
}
具体讲解见后续篇章。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
文章转载自:博客园