XtraReports 打印控件的简单使用

None.gif 今天有人问我DEV打印控件 的使用,刚好自己好长时间没有编码了,所以写了一个简单的DataTale打印练习,希望时间长了以后看到这片文章以后能熟悉
None.gif
1 )建立工程文件
None.gif
2 )在工程里面添加新项,名称XtraReport2.cs
None.gif
None.gif
3 ) 在打印调用主界面 引用
None.gif
using  DevExpress.XtraReports.UI;
None.gif
using   DevExpress.XtraPrinting.Localization ; 
None.gif
4 )填充数据,代码如下:
None.gif
None.gif        
private   void  simpleButton1_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif
InBlock.gif            XtraReport1  xrpt1
=new XtraReport1(GetTempDataSet(),"单位","标题");
InBlock.gif            PreviewLocalizer.Active 
= new ChineaseReportLocalizer();
InBlock.gif            xrpt1.ShowPreviewDialog();
ExpandedBlockEnd.gif        }

None.gif        
private  DataSet GetTempDataSet()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            DataSet ds
=new DataSet();
InBlock.gif            DataTable dt
=new DataTable("tempTable");
InBlock.gif            dt.Columns.Add(
"Col1",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col2",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col3",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col4",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col5",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col6",Type.GetType("System.String"));
InBlock.gif            dt.Columns.Add(
"Col7",Type.GetType("System.String"));
InBlock.gif            DataRow tempRow;              
InBlock.gif            
for (int i=0;i<7;i++)//i:Row
ExpandedSubBlockStart.gifContractedSubBlock.gif
            dot.gif{
InBlock.gif                tempRow
=dt.NewRow();
InBlock.gif                tempRow[
0]=i.ToString();
InBlock.gif                tempRow[
1]=i.ToString();
InBlock.gif                tempRow[
2]=i.ToString();
InBlock.gif                tempRow[
3]=i.ToString();
InBlock.gif                tempRow[
4]=i.ToString();
InBlock.gif                tempRow[
5]=i.ToString();
InBlock.gif                tempRow[
6]=i.ToString();
InBlock.gif                dt.Rows.Add(tempRow);
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            ds.Tables.Add(dt);
InBlock.gif            
return ds;
InBlock.gif
InBlock.gif
ExpandedBlockEnd.gif        }

None.gif这个里面 simpleButton1_Click 是打印 键的click事件
None.gif
5 )在XtraReport1.cs 里面的图形界面里面进行属性的相关设置,和增加相关的打印控件,具体操作如下图:
None.gif
None.gif
6 )增加相关代码:
None.gif    
public  XtraReport1(DataSet dset, string  unitName, string  title) // 构造函数重载
ExpandedBlockStart.gifContractedBlock.gif
         dot.gif {
InBlock.gif            InitializeComponent();
InBlock.gif            SetDataBind(dset,unitName,title);
ExpandedBlockEnd.gif        }

None.gif        
private   void  SetDataBind(DataSet dataset, string  unitname, string  title)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            DataSource
=dataset;   
InBlock.gif            
this.xrTableCell3.Text=unitname;
InBlock.gif            
this.xrTableCell9.Text=title;
InBlock.gif            
this.xrTableCell4.DataBindings.Add("Text", DataSource, "Col1");
InBlock.gif            
this.xrTableCell5.DataBindings.Add("Text", DataSource, "Col2");
ExpandedBlockEnd.gif        }

None.gif
7 )注意有一个本地化类 ChineaseReportLocalizer
None.gif
using  System;
None.gif
None.gif
using  System.Data;
None.gif
using   DevExpress.XtraPrinting.Localization ; 
None.gif
using  DevExpress.XtraEditors.ViewInfo;
None.gif
namespace  ReportView
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
public class ChineaseReportLocalizer : DevExpress.XtraPrinting.Localization.PreviewLocalizer
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
public override string Language dot.gifget dot.gifreturn "简体中文"; }}
InBlock.gif        
public override string GetLocalizedString(PreviewStringId id) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
string ret = "";
InBlock.gif            
switch(id) 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
case  PreviewStringId.PreviewForm_Caption : return "统计报表预览";
InBlock.gif                
case  PreviewStringId.MenuItem_File : return "文件";
InBlock.gif                
case  PreviewStringId.MenuItem_PageSetup : return "页面设置";
InBlock.gif                
case  PreviewStringId.MenuItem_PrintDirect : return "打印设置";
InBlock.gif                
case  PreviewStringId.MenuItem_Print : return "打印";
InBlock.gif                
case  PreviewStringId.MenuItem_Export : return "导出";
InBlock.gif                
case  PreviewStringId.MenuItem_PdfDocument : return "Pdf文档";
InBlock.gif                
case  PreviewStringId.MenuItem_RtfDocument : return "Rtf文档";
InBlock.gif                
case  PreviewStringId.MenuItem_TxtDocument : return "Txt文档";
InBlock.gif                
case  PreviewStringId.MenuItem_XlsDocument : return "Xls文档";
InBlock.gif                
case  PreviewStringId.MenuItem_HtmDocument : return "Htm文档";
InBlock.gif                
case  PreviewStringId.MenuItem_GraphicDocument : return "Graphic文档";
InBlock.gif                
case  PreviewStringId.MenuItem_CsvDocument : return "Csv文档";
InBlock.gif                
case  PreviewStringId.MenuItem_MhtDocument : return "Mht文档";
InBlock.gif                
case  PreviewStringId.MenuItem_Send : return "发送";
InBlock.gif                
case  PreviewStringId.MenuItem_Exit : return "退出";
InBlock.gif
InBlock.gif                
case  PreviewStringId.MenuItem_View : return "查看";
InBlock.gif                
case  PreviewStringId.MenuItem_ViewToolbar : return "工具栏";
InBlock.gif                
case  PreviewStringId.MenuItem_ViewStatusbar : return "状态条";
InBlock.gif
InBlock.gif                
case  PreviewStringId.MenuItem_Background : return "背景";
InBlock.gif                
case  PreviewStringId.MenuItem_BackgrColor : return "颜色";
InBlock.gif                
case  PreviewStringId.MenuItem_Watermark : return "水印";
InBlock.gif
InBlock.gif                
case  PreviewStringId.Msg_IncorrectPageRange : return "设置的页边距不正确";
InBlock.gif 
InBlock.gif                
case  PreviewStringId.TB_TTip_PageSetup : return "页面设置";
InBlock.gif                
case  PreviewStringId.TB_TTip_Print : return "打印";
InBlock.gif                
case  PreviewStringId.TB_TTip_Export : return "导出";
InBlock.gif                
case  PreviewStringId.TB_TTip_Close : return "退出";
InBlock.gif                
case  PreviewStringId.TB_TTip_Send : return "发送";
InBlock.gif                
default:
InBlock.gif                    ret 
= "";
InBlock.gif                    
break;
ExpandedSubBlockEnd.gif            }

InBlock.gif              
InBlock.gif            
return ret;
ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}

None.gif
None.gif调用 PreviewLocalizer.Active 
=   new  ChineaseReportLocalizer();   // 实现打印本地化
None.gif
源代码下载:
None.gifhttp:
// www.cnblogs.com/Files/jhtchina/ReportView.rar
None.gif
以上是C / S 结构的源码打印
None.gifhttp:
// www.cnblogs.com/Files/jhtchina/WebPrint源码.rar  
None.gif
压缩Word文件里面有 使用说明。
None.gif是WebForm 下面的源码打印
None.gif
None.gif附加:(控件本地化)
None.gif
using  DevExpress.XtraEditors.Controls;
None.gif
None.gif
namespace  Oceansoft.LOGERP.Common
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//**//**//// <summary>
InBlock.gif    
/// =====================================
InBlock.gif    
/// 作用: XtraEditors的简体中文本地化类
InBlock.gif    
/// =====================================
InBlock.gif    
/// 使用方法:
InBlock.gif    
/// using Oceansoft.LOGERPDEMO.Common;
InBlock.gif    
///    private void Form1_Load(object sender, System.EventArgs e) 
InBlock.gif    
///    {
InBlock.gif    
///        XtraEditorsSimpChineseLocalizer chnLocalizer = new XtraEditorsSimpChineseLocalizer();
InBlock.gif    
///        Localizer.Active = chnLocalizer;
InBlock.gif    
///    }
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public class XtraEditorsSimpChineseLocalizer : Localizer
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//**//**//// <summary>
InBlock.gif        
/// 
ExpandedSubBlockEnd.gif        
/// </summary>

InBlock.gif        public override string Language
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return "简体中文";
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//**//**//// <summary>
InBlock.gif        
/// 
InBlock.gif        
/// </summary>
InBlock.gif        
/// <param name="id"></param>
ExpandedSubBlockEnd.gif        
/// <returns></returns>

InBlock.gif        public override string GetLocalizedString(StringId id)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
switch (id)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
case StringId.CalcButtonBack:
InBlock.gif                    
return "Back";
InBlock.gif                
case StringId.CalcButtonC:
InBlock.gif                    
return "C";
InBlock.gif                
case StringId.CalcButtonCE:
InBlock.gif                    
return "CE";
InBlock.gif                
case StringId.CalcButtonMC:
InBlock.gif                    
return "MC";
InBlock.gif                
case StringId.CalcButtonMR:
InBlock.gif                    
return "MR";
InBlock.gif                
case StringId.CalcButtonMS:
InBlock.gif                    
return "MS";
InBlock.gif                
case StringId.CalcButtonMx:
InBlock.gif                    
return "M+";
InBlock.gif                
case StringId.CalcButtonSqrt:
InBlock.gif                    
return "sqrt";
InBlock.gif                
case StringId.CalcError:
InBlock.gif                    
return "计算错误";
InBlock.gif                
case StringId.Cancel:
InBlock.gif                    
return "取消(&C)";
InBlock.gif                
case StringId.CaptionError:
InBlock.gif                    
return "错误";
InBlock.gif                
case StringId.CheckChecked:
InBlock.gif                    
return "选中";
InBlock.gif                
case StringId.CheckIndeterminate:
InBlock.gif                    
return "未选择";
InBlock.gif                
case StringId.CheckUnchecked:
InBlock.gif                    
return "未选中";
InBlock.gif                
case StringId.ColorTabCustom:
InBlock.gif                    
return "自定义";
InBlock.gif                
case StringId.ColorTabSystem:
InBlock.gif                    
return "系统";
InBlock.gif                
case StringId.ColorTabWeb:
InBlock.gif                    
return "网络";
InBlock.gif                
case StringId.DataEmpty:
InBlock.gif                    
return "没有图片";
InBlock.gif                
case StringId.DateEditClear:
InBlock.gif                    
return "清除";
InBlock.gif                
case StringId.DateEditToday:
InBlock.gif                    
return "今天";
InBlock.gif                
case StringId.ImagePopupEmpty:
InBlock.gif                    
return "(空的)";
InBlock.gif                
case StringId.ImagePopupPicture:
InBlock.gif                    
return "(图片)";
InBlock.gif                
case StringId.InvalidValueText:
InBlock.gif                    
return "无效的值";
InBlock.gif                
case StringId.MaskBoxValidateError:
InBlock.gif                    
return "The entered value is incomplete. Do you want to correct it?\r\n\r\nYes - return to the editor and correct the value.\r\nNo - leave the value as is.\r\nCancel - reset to the previous value.\r\n ";
InBlock.gif                
case StringId.NavigatorAppendButtonHint:
InBlock.gif                    
return "附加";
InBlock.gif                
case StringId.NavigatorCancelEditButtonHint:
InBlock.gif                    
return "取消编辑";
InBlock.gif                
case StringId.NavigatorEditButtonHint:
InBlock.gif                    
return "编辑";
InBlock.gif                
case StringId.NavigatorEndEditButtonHint:
InBlock.gif                    
return "结束编辑";
InBlock.gif                
case StringId.NavigatorFirstButtonHint:
InBlock.gif                    
return "第一条(&F)";
InBlock.gif                
case StringId.NavigatorLastButtonHint:
InBlock.gif                    
return "最后一条(&L)";
InBlock.gif                
case StringId.NavigatorNextButtonHint:
InBlock.gif                    
return "下一条(&N)";
InBlock.gif                
case StringId.NavigatorNextPageButtonHint:
InBlock.gif                    
return "下一页";
InBlock.gif                
case StringId.NavigatorPreviousButtonHint:
InBlock.gif                    
return "上一条(&P)";
InBlock.gif                
case StringId.NavigatorPreviousPageButtonHint:
InBlock.gif                    
return "上一页";
InBlock.gif                
case StringId.NavigatorRemoveButtonHint:
InBlock.gif                    
return "删除(&D)";
InBlock.gif                
case StringId.NavigatorTextStringFormat:
InBlock.gif                    
return "{0}/{1}条";
InBlock.gif                
case StringId.OK:
InBlock.gif                    
return "确定(&O)";
InBlock.gif                
case StringId.PictureEditMenuCopy:
InBlock.gif                    
return "复制(&C)";
InBlock.gif                
case StringId.PictureEditMenuCut:
InBlock.gif                    
return "剪切(&T)";
InBlock.gif                
case StringId.PictureEditMenuDelete:
InBlock.gif                    
return "删除(&D)";
InBlock.gif                
case StringId.PictureEditMenuLoad:
InBlock.gif                    
return "载入(&L)";
InBlock.gif                
case StringId.PictureEditMenuPaste:
InBlock.gif                    
return "粘贴(&P)";
InBlock.gif                
case StringId.PictureEditMenuSave:
InBlock.gif                    
return "保存(&S)";
InBlock.gif                
case StringId.PictureEditOpenFileError:
InBlock.gif                    
return "错误的图片文件格式";
InBlock.gif                
case StringId.PictureEditOpenFileErrorCaption:
InBlock.gif                    
return "打开失败";
InBlock.gif                
case StringId.PictureEditOpenFileFilter:
InBlock.gif                    
return "BMP (*.bmp)|*.bmp|JPEG (*.jpg;*.jpeg;*.jpe;*.jfif)|*.jpg;*.jpeg;*.jpe;*.jfif|GIF (*.gif)|*.gif|TIFF (*.tif;*.tiff)|*.tif;*.tiff|PNG (*.png)|*.png|图标 (*.ico)|*.ico|所有图片文件|*.bmp;*.gif;*.jpg;*.jpeg;*.jpe;*.jfif;*.ico;*.png;*.tif;*.tiff|所有文件|*.*";
InBlock.gif                
case StringId.PictureEditOpenFileTitle:
InBlock.gif                    
return "打开";
InBlock.gif                
case StringId.PictureEditSaveFileFilter:
InBlock.gif                    
return "BMP (*.bmp)|*.bmp|GIF (*.gif)|*.gif|JPEG (*.jpg)|*.jpg";
InBlock.gif                
case StringId.PictureEditSaveFileTitle:
InBlock.gif                    
return "另存为";
InBlock.gif                
case StringId.TabHeaderButtonClose:
InBlock.gif                    
return "关闭(&C)";
InBlock.gif                
case StringId.TabHeaderButtonNext:
InBlock.gif                    
return "下一页(&N)";
InBlock.gif                
case StringId.TabHeaderButtonPrev:
InBlock.gif                    
return "上一页(&P)";
InBlock.gif                
case StringId.TextEditMenuCopy:
InBlock.gif                    
return "复制(&C)";
InBlock.gif                
case StringId.TextEditMenuCut:
InBlock.gif                    
return "剪切(&T)";
InBlock.gif                
case StringId.TextEditMenuDelete:
InBlock.gif                    
return "删除(&D)";
InBlock.gif                
case StringId.TextEditMenuPaste:
InBlock.gif                    
return "粘贴(&P)";
InBlock.gif                
case StringId.TextEditMenuSelectAll:
InBlock.gif                    
return "全选(&A)";
InBlock.gif                
case StringId.TextEditMenuUndo:
InBlock.gif                    
return "撤销(&U)";
InBlock.gif                
case StringId.UnknownPictureFormat:
InBlock.gif                    
return "未知的图片格式";
InBlock.gif                
case StringId.XtraMessageBoxAbortButtonText:
InBlock.gif                    
return "放弃(&A)";
InBlock.gif                
case StringId.XtraMessageBoxCancelButtonText:
InBlock.gif                    
return "取消(&C)";
InBlock.gif                
case StringId.XtraMessageBoxIgnoreButtonText:
InBlock.gif                    
return "忽略(&I)";
InBlock.gif                
case StringId.XtraMessageBoxNoButtonText:
InBlock.gif                    
return "否(&N)";
InBlock.gif                
case StringId.XtraMessageBoxOkButtonText:
InBlock.gif                    
return "确定(&O)";
InBlock.gif                
case StringId.XtraMessageBoxRetryButtonText:
InBlock.gif                    
return "重试(&R)";
InBlock.gif                
case StringId.XtraMessageBoxYesButtonText:
InBlock.gif                    
return "是(&Y)";
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return "";
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
None.gif
None.gif
using  System;
None.gif
using  DevExpress.XtraGrid.Localization;
None.gif
None.gif
namespace  SZHeritage.Common
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//**//**//// <summary>
InBlock.gif    
/// =====================================
InBlock.gif    
/// 作用: XtraEditors的简体中文本地化类
InBlock.gif    
/// 作者: 
InBlock.gif    
/// 日期: 2005-08-12
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public class XtraGridSimpChineseLocalizer:GridLocalizer
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
public XtraGridSimpChineseLocalizer()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
//
InBlock.gif            
// TODO: 在此处添加构造函数逻辑
InBlock.gif            
//
ExpandedSubBlockEnd.gif
        }

InBlock.gif        
public override string Language
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
get 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return "简体中文";
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        
public override string GetLocalizedString(GridStringId id)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
switch(id)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
case GridStringId.MenuColumnBestFit:
InBlock.gif                    
return "适合列宽度";
InBlock.gif                
case GridStringId.MenuColumnBestFitAllColumns:
InBlock.gif                    
return "适合所有列宽度";
InBlock.gif                
case GridStringId.MenuColumnClearFilter:
InBlock.gif                    
return "取消筛选";
InBlock.gif                
case GridStringId.MenuColumnColumnCustomization:
InBlock.gif                    
return "选择显示列";
InBlock.gif                
case GridStringId.MenuColumnSortAscending:
InBlock.gif                    
return "升序排列";
InBlock.gif                
case GridStringId.MenuColumnSortDescending:
InBlock.gif                    
return "降序排列";
InBlock.gif                
case GridStringId.MenuColumnGroup:
InBlock.gif                    
return "此列分组";
InBlock.gif                
case GridStringId.MenuColumnGroupBox:
InBlock.gif                    
return "自定义分组";
InBlock.gif                
case GridStringId.MenuGroupPanelFullCollapse:
InBlock.gif                    
return "折叠";
InBlock.gif                
case GridStringId.MenuGroupPanelFullExpand:
InBlock.gif                    
return "展开";
InBlock.gif                
case GridStringId.MenuGroupPanelClearGrouping:
InBlock.gif                    
return "清除分组";
InBlock.gif                
case GridStringId.GridGroupPanelText:
InBlock.gif                    
return "拖动列到此处实现,实现按此列分组";
InBlock.gif                
case GridStringId.CustomizationCaption:
InBlock.gif                    
return "自定义";
InBlock.gif                
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return "";
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif

转载于:https://www.cnblogs.com/aaliujing/archive/2006/12/19/596471.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值