xtrareport 的使用方法
更新时间:2023-09-29 12:02:01 阅读量: 综合文库 文档下载
- 新冠肺炎早期症状推荐度:
- 相关推荐
Xtrareport
1, 此报表在设置时,paperkind中找不到自定义的纸张,所以我就在事件beforeprint中,
this.Margins = new System.Drawing.Printing.Margins(10, 10, 10, 10); this.PaperKind = System.Drawing.Printing.PaperKind.Custom; this.PageWidth = 827; this.PageHeight = 584; this.PaperName = \2.加载已有模板
xrpt1.LoadLayout(@\);
Developer Express 之 XtraReport报表预览控件PrintControl设置 using System; 02
using System.Collections.Generic;
03 using System.ComponentModel; 04 using System.Data; 05 using System.Drawing; 06 using System.Text;
07 using System.Windows.Forms; 08 using DevExpress.XtraEditors; 09 using DevExpress.XtraReports.UI; 10 using DevExpress.XtraPrinting.Preview; 11 using DevExpress.XtraPrinting; 12 using DevExpress.XtraPrinting.Control; 13
14 namespace WFAXtraReport 15 {
16 public partial class Form1 : Form 17 {
18 public Form1 () 19 {
20 InitializeComponent(); 21 } 22
23 private void Form1 _Load(object sender, EventArgs e) 24 { 25
26 XtraReport fXtraReport = new XtraReport(); 27 //fXtraReport.LoadLayout(@\28
29 PrintControl printControl1 = new PrintControl(); printControl1.PrintingSystem = 30
fXtraReport.PrintingSystem; 31 32
PrintBarManager printBarManager 33
= new PrintBarManager(); 34 printBarManager.Form = printControl1; 35 printBarManager.Initialize(printControl1); 36 printBarManager.MainMenu.Visible = false; 37 printBarManager.AllowCustomization = false; 38
39 //操作要显示什么按钮
4 printControl1.PrintingSystem.SetCommandVisibility(new P0 rintingSystemCommand[]{
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-06 21:10 CookBlack 阅读(423) | 评论(0) | 编辑
Developer Express 之 XtraReport如何显示设计窗体 XtraReport的设计器,其实用XRDesignFormEx就可以。
01 using System;
02 using System.Collections.Generic; 03 using System.ComponentModel; 04 using System.Data; 05 using System.Drawing; 06 using System.Linq; 07 using System.Text;
08 using System.Windows.Forms; 09 using DevExpress.XtraReports.UI;
10 using DevExpress.XtraReports.UserDesigner; 11 using System.Drawing.Design; 12 using System.ComponentModel.Design; 13
14 namespace WFAXtraReport 15 {
16 public partial class Form1 : Form 17 {
18 XtraReport r ;//这个可以是加载之前设计好的模板 19 public Form1() 20 {
21 InitializeComponent(); 22 } 23
24 private void designForm_FormClosing(object sender,
FormClosingEventArgs e) 25 {
26 //在此处处理关闭设计器时的操作,主要用来自定义保存数据 27 //r.SaveLayout(@\28 } 29
private void designForm_ReportStateChanged(object sender, 30
ReportStateEventArgs e) 31 {
32 //只要报表发生改变就立即将状态设置为保存 33 //避免系统默认保存对话框的出现
34 if (e.ReportState == ReportState.Changed) 35 {
((XRDesignFormEx)sender).DesignPanel.ReportState = 36
ReportState.Saved; 37 } 38 } 39
40 private void Form1_Load(object sender, EventArgs e) 41 {
42 r = new XtraReport(); 43 //r.LoadLayout(@\
44 XRDesignFormEx designForm = new XRDesignFormEx(); 45
46 //隐藏按钮
4 designForm.DesignPanel.SetCommandVisibility(new Report7 Command[]{
48 ReportCommand.NewReport, 49 ReportCommand.SaveFileAs, 50 ReportCommand.NewReportWizard, 51 ReportCommand.OpenFile 52 }, CommandVisibility.None); 53 54
55 //更改状态
56 designForm.ReportStateChanged
+= new ReportStateEventHandler(designForm_ReportStateChanged); 57
designForm.FormClosing 58
+= new FormClosingEventHandler(designForm_FormClosing); 59
60 // 加载报表.
61 designForm.OpenReport(r); 62
63 // 打开设计器
64 designForm.ShowDialog(); 65
66 designForm.Dispose(); 67 } 68 } 6} 9
体的时候要控制什么,你可以重载里面的数据。比如设计窗体显示有点慢,我0
们在开始的时候加载个等待窗体,显示出来后关闭这个
1 href=\http://www.cnblogs.com/rock_chen/archive/2008/7/2.html\http://www.cnblogs.com/rock_chen/archive/2008/7/2.html)关于模板的设计和数据绑定可以参看之前发表的 1 Developer Express 之 XtraReport如何数据动态绑定。
posted @ 2010-12-06 20:56 CookBlack 阅读(296) | 评论(0) | 编辑
Developer Express 之 XtraReport如何动态绑定数据
XtraReport报表编辑器里的保存,是可以保存为一个文件的,所以它应该提供了一个从文件加载的方法,这时我们可以发现XtraReport里有一个LoadLayout的方法,可以加载报表文件,它的重载方法是可以从IO.Stream里加载报表文件,也就是说,我们可以进一步的把这个报表模板以二进制的方式保存在数据库里。需要的时候,从数据库调用即可。
我们在设计XtraReport的模板的时候,重写它的析构方法,一个有传入数据源的,一个没有。代码如下:
01 public XtraReport1() 02 {
03 InitializeComponent(); 04
05 } //数据预览是有用
06 public XtraReport1(DataSet ds)//构造函数重载 07 {
08 InitializeComponent(); 09 SetDataBind(ds); 10 } 11
12 private void SetDataBind(DataSet ds)//绑定数据源 13 {
14 DataSource=ds;
this.xrTableCell4.DataBindings.Add(\15
DataSource, \ this.xrTableCell5.DataBindings.Add(\16
DataSource, \17 }
1 填充数据代码如下:
01 private void simpleButton1_Click(object sender, System.EventArgs e) 02 { 03
04 XtraReport1 xrpt1=new XtraReport1(GetTempDataSet()); 05 xrpt1.ShowPreviewDialog(); 06 }
07 private DataSet GetTempDataSet() 08 {
09 DataSet ds=new DataSet();
10 DataTable dt=new DataTable(\
11 dt.Columns.Add(\12 dt.Columns.Add(\13 dt.Columns.Add(\14 dt.Columns.Add(\15 dt.Columns.Add(\16 dt.Columns.Add(\17 dt.Columns.Add(\18 DataRow tempRow; 19 for (int i=0;i<7;i++)//i:Row 20 {
21 tempRow=dt.NewRow(); 22 tempRow[0]=i.ToString(); 23 tempRow[1]=i.ToString(); 24 tempRow[2]=i.ToString(); 25 tempRow[3]=i.ToString(); 26 tempRow[4]=i.ToString(); 27 tempRow[5]=i.ToString(); 28 tempRow[6]=i.ToString(); 29 dt.Rows.Add(tempRow); 30 } 31
32 ds.Tables.Add(dt); 33 return ds; 34 } 1
其中关于主从表的话,因为传进去的DaTaSet所以我们可以再外面把相应
的关系指定好后加到DaTaSet。
1 下面给出主从表的代码: 1 DataColumn parentColumns; 2 DataColumn childColumns;
3 parentColumns = ds.Tables[\4 childColumns = ds.Tables[\DataRelation dsdr1 = new DataRelation(\5
childColumns);
6 ds.Relations.Add(dsdr1); 7
DataRelation dsdr2 = new DataRelation(\8 ds.Tables[\
ds.Tables[\9 ds.Relations.Add(dsdr2);
而模板中绑定数据的话跟上面单表是的大同小异,但是里面的绑定要记得引用的是你绑定关系的外键,也就是,如下代码:
01 public XtraReport1(DataSet ds) 02 {
03 InitializeComponent(); 04 SetDataBing(ds); 05 }
06 private void SetDataBing(DataSet ds) 07 { 08
09 DataMember = \10 DataSource = ds; 11 12
this.cellCompanyName.DataBindings.Add(\13
DataSource, \ this.sContadName.DataBindings.Add(\14
DataSource, \ this.sCountry.DataBindings.Add(\15
DataSource, \ this.sContactTitle.DataBindings.Add(\16
DataSource, \ this.sRegion.DataBindings.Add(\17
DataSource, \ this.sPhone.DataBindings.Add(\18
DataSource, \ this.sCity.DataBindings.Add(\19
DataSource, \ this.sFax.DataBindings.Add(\20
DataSource, \ this.sPostalCode.DataBindings.Add(\21
DataSource, \ this.sHomePage.DataBindings.Add(\22
DataSource, \ this.sAddress.DataBindings.Add(\23
DataSource, \ this.sCompanyName.DataBindings.Add(\24
DataSource, \25
26 DetailReport.DataMember = \27 DetailReport.DataSource = DataSource; 28
this.pProductName.DataBindings.Add(\29
DataSource, \30 this.pProductID.DataBindings.Add(\
DataSource, \
this.pCategory.DataBindings.Add(\31
DataSource, \ this.pUnit.DataBindings.Add(\32
DataSource, \ this.pUnitPrice.DataBindings.Add(\33
DataSource, \ this.pDiscontinued.DataBindings.Add(\34
DataSource, \35
36 DetailReport1.DataMember = \37 DetailReport1.DataSource = DataSource; 38
this.oOrderID.DataBindings.Add(\39
DataSource, \ this.oQuantity.DataBindings.Add(\40
DataSource, \ this.oDiscount.DataBindings.Add(\41
DataSource, \42
this.oUnitPrice.DataBindings.Add(\43
DataSource, \44 45 46 } 1
this.pProductName.DataBindings.Add(\
DataSource, \以这句来说明,\
这个就是子表的数据字段,这部是主从表动态绑定的关键,这样数据就会随主1
表数据变化而变化。
posted @ 2010-12-06 20:47 CookBlack 阅读(518) | 评论(2) | 编辑
C#获取当前路径的方法
转:http://cosky.blogbus.com/logs/52749759.html //获取包含清单的已加载文件的路径或 UNC 位置。
public static string sApplicationPath = Assembly.GetExecutingAssembly ( ).Location;
//result: X:\\xxx\\xxx\\xxx.dll (.dll文件所在的目录+.dll文件名) //获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType ( ).Assembly.Location;
//result: X:\\xxx\\xxx\\xxx.exe (.exe文件所在的目录+.exe文件名)
//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。
string str = System.Diagnostics.Process.GetCurrentProcess ( ).MainModule.FileName;
//result: X:\\xxx\\xxx\\xxx.exe (.exe文件所在的目录+.exe文件名) //获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。 string str = System.Environment.CurrentDirectory; //result: X:\\xxx\\xxx (.exe文件所在的目录)
//获取当前 Thread 的当前应用程序域的基目录,它由程序集冲突解决程序用来探测程序集。 string str = System.AppDomain.CurrentDomain.BaseDirectory; //result: X:\\xxx\\xxx\\ (.exe文件所在的目录+\//获取和设置包含该应用程序的目录的名称。 string str =
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase; //result: X:\\xxx\\xxx\\ (.exe文件所在的目录+\
//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 string str = System.Windows.Forms.Application.StartupPath; //result: X:\\xxx\\xxx (.exe文件所在的目录)
//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 string str = System.Windows.Forms.Application.ExecutablePath; //result: X:\\xxx\\xxx\\xxx.exe (.exe文件所在的目录+.exe文件名) //获取应用程序的当前工作目录(不可靠)。
string str = System.IO.Directory.GetCurrentDirectory ( ); //result: X:\\xxx\\xxx (.exe文件所在的目录) 在系统服务中最好用这个方式去取路径
string stmp = Assembly.GetExecutingAssembly ( ).Location; stmp = stmp.Substring ( 0 , stmp.LastIndexOf ( '\\\\' ) );//删除文件名 if ( pathType == 1 )
return stmp + @\else if ( pathType == 2 )
return stmp + @\else
return stmp + @%using System.IO;
string path = \
string fileName = Path.GetFileName(path); //文件名 string ext = Path.GetExtension(path); //扩展名 1、判定一个给定的路径是否有效,合法
通过Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法获得非法的路径/文件名字符,可以根据它来判断路径中是否包含非法字符; 2、如何确定一个路径字符串是表示目录还是文件
使用Directory.Exists或File.Exist方法,如果前者为真,则路径表示目录;如果后者为真,则路径表示文件
上面的方法有个缺点就是不能处理那些不存在的文件或目录。这时可以考虑使用
Path.GetFileName方法获得其包含的文件名,如果一个路径不为空,而文件名为空那么它表示目录,否则表示文件; 3、获得路径的某个特定部分
Path.GetDirectoryName :返回指定路径字符串的目录信息。 Path.GetExtension :返回指定的路径字符串的扩展名。 Path.GetFileName :返回指定路径字符串的文件名和扩展名。
Path.GetFileNameWithoutExtension :返回不具有扩展名的路径字符串的文件名。 Path.GetPathRoot :获取指定路径的根目录信息。 4、准确地合并两个路径而不用去担心那个烦人的“\\”字符 使用Path.Combine方法,它会帮你处理烦人的“\\”。 5、获得系统目录的路径
Environment.SystemDirectory属性:获取系统目录的完全限定路径 Environment.GetFolderPath方法:该方法接受的参数类型为
Environment.SpecialFolder枚举,通过这个方法可以获得大量系统 文件夹的路径,如我的电脑,桌面,系统目录等
Path.GetTempPath方法:返回当前系统的临时文件夹的路径 6、判断一个路径是绝对路径还是相对路径 使用Path.IsPathRooted方法 7、读取或设置当前目录
使用Directory类的GetCurrentDirectory和SetCurrentDirectory方法 8、使用相对路径
设置当前目录后(见上个问题),就可以使用相对路径了。对于一个相对路径,我们可以使用Path.GetFullPath方法获得它的完 全限定路径(绝对路径)。
注意:如果打算使用相对路径,建议你将工作目录设置为各个交互文件的共同起点,否则可能会引入一些不易发现的安全隐患,被恶意用户利用来访问系统文件。 9、文件夹浏览对话框(FolderBrowserDialog类)
主要属性: Description:树视图控件上显示的说明文本,如上图中的“选择目录--练习”;RootFolder:获取或设置从其开始浏览的根文件夹,如上图中设置的我的电脑(默认为桌面);SelectedPath:获取或设置用户选定的路径,如果设置了该属性,打开对话框时会定位到指定路径,默认为根文件夹,关闭对话框时根据该属性获取用户用户选定的路径; ShowNewFolderButton:获取或设置是否显示新建对话框按钮;
主要方法: ShowDialog:打开该对话框,返回值为DialogResult类型值,如果为DialogResult.OK,则可以由SelectedPath属性获取用户选定的路径
正在阅读:
xtrareport 的使用方法09-29
高职院校人文类选修课教学实践与探索05-11
国际性社团在提升国家国际影响力中的作用01-28
常用金属材料及热处理03-08
奥鹏15春中国石油大学《安全行为学》第二阶段在线作业答案12-09
工具式卸料平台施工方案12-22
石家庄市产业布局规划01-18
《马铃薯在液体中的沉浮》教学设计01-19
2019届山西省太原市八中高三3月份定时练文综地理试题(解析版)10-17
《报刊新闻评析》文本教案10-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 使用方法
- xtrareport