xtrareport 的使用方法Word格式文档下载.docx
《xtrareport 的使用方法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《xtrareport 的使用方法Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
10
DevExpress.XtraPrinting.Preview;
11
DevExpress.XtraPrinting;
12
DevExpress.XtraPrinting.Control;
13
14
namespace
WFAXtraReport
15
{
16
public
partial
class
Form1:
Form
17
18
Form1()
19
20
InitializeComponent();
21
}
22
23
private
void
Form1_Load(object
sender,EventArgse)
24
25
26
XtraReportfXtraReport=
new
XtraReport();
27
//fXtraReport.LoadLayout(@"
C:
\1.repx"
28
29
PrintControlprintControl1=
PrintControl();
30
printControl1.PrintingSystem=fXtraReport.PrintingSystem;
31
32
33
PrintBarManagerprintBarManager=
PrintBarManager();
34
printBarManager.Form=printControl1;
35
printBarManager.Initialize(printControl1);
36
printBarManager.MainMenu.Visible=
false;
37
printBarManager.AllowCustomization=
38
39
//操作要显示什么按钮
40
printControl1.PrintingSystem.SetCommandVisibility(new
PrintingSystemCommand[]{
41
PrintingSystemCommand.Open,
42
PrintingSystemCommand.Save,
43
PrintingSystemCommand.ClosePreview,
44
PrintingSystemCommand.Customize,
45
PrintingSystemCommand.SendCsv,
46
PrintingSystemCommand.SendFile,
47
PrintingSystemCommand.SendGraphic,
48
PrintingSystemCommand.SendMht,
49
PrintingSystemCommand.SendPdf,
50
PrintingSystemCommand.SendRtf,
51
PrintingSystemCommand.SendTxt,
52
PrintingSystemCommand.SendXls
53
},CommandVisibility.None);
54
55
fXtraReport.CreateDocument();
56
57
Controls.Add(printControl1);
58
printControl1.Dock=DockStyle.Fill;
59
60
61
关于XtraReport的功能还有很多,细节上的处理还有很多,留待以后再整理,先整理这几个常用的。
posted@2010-12-0621:
10CookBlack阅读(423)|评论(0)|
编辑
DeveloperExpress之XtraReport如何显示设计窗体
XtraReport的设计器,其实用XRDesignFormEx就可以。
01
System.Linq;
DevExpress.XtraReports.UserDesigner;
System.Drawing.Design;
System.ComponentModel.Design;
XtraReportr;
//这个可以是加载之前设计好的模板
Form1()
designForm_FormClosing(object
sender,FormClosingEventArgse)
//在此处处理关闭设计器时的操作,主要用来自定义保存数据
//r.SaveLayout(@"
designForm_ReportStateChanged(object
sender,ReportStateEventArgse)
//只要报表发生改变就立即将状态设置为保存
//避免系统默认保存对话框的出现
if
(e.ReportState==ReportState.Changed)
((XRDesignFormEx)sender).DesignPanel.ReportState=ReportState.Saved;
Form1_Load(object
r=
//r.LoadLayout(@"
XRDesignFormExdesignForm=
XRDesignFormEx();
//隐藏按钮
designForm.DesignPanel.SetCommandVisibility(new
ReportCommand[]{
ReportCommand.NewReport,
ReportCommand.SaveFileAs,
ReportCommand.NewReportWizard,
ReportCommand.OpenFile
//更改状态
designForm.ReportStateChanged+=
ReportStateEventHandler(designForm_ReportStateChanged);
designForm.FormClosing+=
FormClosingEventHandler(designForm_FormClosing);
//加载报表.
designForm.OpenReport(r);
62
63
//打开设计器
64
designForm.ShowDialog();
65
66
designForm.Dispose();
67
68
69
70
<
spanstyle="
font-family:
微软雅黑;
"
>
这样我们就能在加载和销毁设计窗体的时候要控制什么,你可以重载里面的数据。
比如设计窗体显示有点慢,我们在开始的时候加载个等待窗体,显示出来后关闭这个<
/span>
1
显示等待的窗体。
还有其他的事件视情况而定。
(参考<
ahref="
DeveloperExpress之XtraReport如何数据动态绑定。
posted@2010-12-0620:
56CookBlack阅读(296)|评论(0)|
DeveloperExpress之XtraReport如何动态绑定数据
XtraReport报表编辑器里的保存,是可以保存为一个文件的,所以它应该提供了一个从文件加载的方法,这时我们可以发现XtraReport里有一个LoadLayout的方法,可以加载报表文件,它的重载方法是可以从IO.Stream里加载报表文件,也就是说,我们可以进一步的把这个报表模板以二进制的方式保存在数据库里。
需要的时候,从数据库调用即可。
我们在设计XtraReport的模板的时候,重写它的析构方法,一个有传入数据源的,一个没有。
代码如下:
XtraReport1()
}
//数据预览是有用
XtraReport1(DataSetds)//构造函数重载
SetDataBind(ds);
SetDataBind(DataSetds)//绑定数据源
DataSource=ds;
this.xrTableCell4.DataBindings.Add("
Text"
DataSource,
test1"
this.xrTableCell5.DataBindings.Add("
填充数据代码如下:
simpleButton1_Click(object
sender,System.EventArgse)
XtraReport1
xrpt1=new
XtraReport1(GetTempDataSet());
xrpt1.ShowPreviewDialog();
DataSetGetTempDataSet()
DataSetds=new
DataSet();
DataTabledt=new
DataTable("
tempTable"
dt.Columns.Add("
Type.GetType("
System.String"
));
test"
test3"
test4"
test5"
test6"
test7"
DataRowtempRow;
for
(int
i=0;
i<
7;
i++)//i:
Row
tempRow=dt.NewRow();
tempRow[0]=i.ToString();
tempRow[1]=i.ToString();
tempRow[2]=i.ToString();
tempRow[3]=i.ToString();
tempRow[4]=i.ToString();
tempRow[5]=i.ToString();
tempRow[6]=i.ToString();
dt.Rows.Add(tempRow);
ds.Tables.Add(dt);
return
ds;
其中关于主从表的话,因为传进去的DaTaSet所以我们可以再外面把相应的关系指定好后加到DaTaSet。
下面给出主从表的代码:
DataColumnparentColumns;
2
DataColumnchildColumns;
3
parentColumns=ds.Tables["
Suppliers"
].Columns["
SupplierID"
];
4
childColumns=ds.Tables["
Products"
5
DataRelationdsdr1=
DataRelation("
fk_1"
parentColumns,childColumns);
6
ds.Relations.Add(dsdr1);
7
8
DataRelationdsdr2=
fk_2"
ds.Tables["
ProductID"
],ds.Tables["
OrderDetails"
]);
9
ds.Relations.Add(dsdr2);
而模板中绑定数据的话跟上面单表是的大同小异,但是里面的绑定要记得引用的是你绑定关系的外键,也就是,如下代码:
XtraReport1(DataSetds)
SetDataBing(ds);
SetDataBing(DataSetds)
DataMember=
;
DataSource=ds;
this.cellCompanyName.DataBindings.Add("
Suppliers.CompanyName"
this.sContadName.DataBindings.Add("
Suppliers.ContadName"
this.sCountry.DataBindings.Add("
Suppliers.Country"
this.sContactTitle.DataBindings.Add("
Suppliers.ContactTitle"
this.sRegion.DataBindings.Add("
Suppliers.Region"
this.sPhone.DataBindings.Add("
Suppliers.Phone"
this.sCi