XtraReports 打印控件的简单使用

今天有人问我DEV打印控件 的使用,刚好自己好长时间没有编码了,所以写了一个简单的DataTale打印练习,希望时间长了以后看到这片文章以后能熟悉
1)建立工程文件
2)在工程里面添加新项,名称XtraReport2.cs
XtraReports 打印控件的简单使用
3) 在打印调用主界面 引用
using DevExpress.XtraReports.UI;
using  DevExpress.XtraPrinting.Localization ;
4)填充数据,代码如下:


        
private void simpleButton1_Click(object sender, System.EventArgs e)
        
{

            XtraReport1  xrpt1
=new XtraReport1(GetTempDataSet(),"单位","标题");
            PreviewLocalizer.Active 
= new ChineaseReportLocalizer();
            xrpt1.ShowPreviewDialog();
        }

        
private DataSet GetTempDataSet()
        
{
            DataSet ds
=new DataSet();
            DataTable dt
=new DataTable("tempTable");
            dt.Columns.Add(
"Col1",Type.GetType("System.String"));
            dt.Columns.Add(
"Col2",Type.GetType("System.String"));
            dt.Columns.Add(
"Col3",Type.GetType("System.String"));
            dt.Columns.Add(
"Col4",Type.GetType("System.String"));
            dt.Columns.Add(
"Col5",Type.GetType("System.String"));
            dt.Columns.Add(
"Col6",Type.GetType("System.String"));
            dt.Columns.Add(
"Col7",Type.GetType("System.String"));
            DataRow tempRow;              
            
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;


        }


这个里面 simpleButton1_Click 是打印 键的click事件
5)在XtraReport1.cs 里面的图形界面里面进行属性的相关设置,和增加相关的打印控件,具体操作如下图:
XtraReports 打印控件的简单使用
6)增加相关代码:

    public XtraReport1(DataSet dset,string unitName,string title)//构造函数重载
        {
            InitializeComponent();
            SetDataBind(dset,unitName,title);
        }

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


7)注意有一个本地化类 ChineaseReportLocalizer

using System;

using System.Data;
using  DevExpress.XtraPrinting.Localization ; 
using DevExpress.XtraEditors.ViewInfo;
namespace ReportView
{
    
public class ChineaseReportLocalizer : DevExpress.XtraPrinting.Localization.PreviewLocalizer
    
{

        
public override string Language get return "简体中文"; }}
        
public override string GetLocalizedString(PreviewStringId id) 
        
{
            
string ret = "";
            
switch(id) 
            
{
                
case  PreviewStringId.PreviewForm_Caption : return "统计报表预览";
                
case  PreviewStringId.MenuItem_File : return "文件";
                
case  PreviewStringId.MenuItem_PageSetup : return "页面设置";
                
case  PreviewStringId.MenuItem_PrintDirect : return "打印设置";
                
case  PreviewStringId.MenuItem_Print : return "打印";
                
case  PreviewStringId.MenuItem_Export : return "导出";
                
case  PreviewStringId.MenuItem_PdfDocument : return "Pdf文档";
                
case  PreviewStringId.MenuItem_RtfDocument : return "Rtf文档";
                
case  PreviewStringId.MenuItem_TxtDocument : return "Txt文档";
                
case  PreviewStringId.MenuItem_XlsDocument : return "Xls文档";
                
case  PreviewStringId.MenuItem_HtmDocument : return "Htm文档";
                
case  PreviewStringId.MenuItem_GraphicDocument : return "Graphic文档";
                
case  PreviewStringId.MenuItem_CsvDocument : return "Csv文档";
                
case  PreviewStringId.MenuItem_MhtDocument : return "Mht文档";
                
case  PreviewStringId.MenuItem_Send : return "发送";
                
case  PreviewStringId.MenuItem_Exit : return "退出";

                
case  PreviewStringId.MenuItem_View : return "查看";
                
case  PreviewStringId.MenuItem_ViewToolbar : return "工具栏";
               
case  PreviewStringId.MenuItem_ViewStatusbar : return "状态条";

                
case  PreviewStringId.MenuItem_Background : return "背景";
                
case  PreviewStringId.MenuItem_BackgrColor : return "颜色";
                
case  PreviewStringId.MenuItem_Watermark : return "水印";

                
case  PreviewStringId.Msg_IncorrectPageRange : return "设置的页边距不正确";
 
                
case  PreviewStringId.TB_TTip_PageSetup : return "页面设置";
                
case  PreviewStringId.TB_TTip_Print : return "打印";
                
case  PreviewStringId.TB_TTip_Export : return "导出";
                
case  PreviewStringId.TB_TTip_Close : return "退出";
                
case  PreviewStringId.TB_TTip_Send : return "发送";
                
default:
                    ret 
= "";
                    
break;
            }

              
           
return ret;
        }


    }


}


调用 PreviewLocalizer.Active = new ChineaseReportLocalizer();  //实现打印本地化
源代码下载:
http://files.cnblogs.com/jhtchina/ReportView.rar
以上是C/S 结构的源码打印
http://files.cnblogs.com/jhtchina/WebPrint源码.rar 
压缩Word文件里面有 使用说明。
是WebForm 下面的源码打印

附加:(控件本地化)

XtraReports 打印控件的简单使用using DevExpress.XtraEditors.Controls;
XtraReports 打印控件的简单使用
XtraReports 打印控件的简单使用
namespace Oceansoft.LOGERP.Common
XtraReports 打印控件的简单使用
{
XtraReports 打印控件的简单使用    
/**//// <summary>
XtraReports 打印控件的简单使用    
/// =====================================
XtraReports 打印控件的简单使用    
/// 作用: XtraEditors的简体中文本地化类
XtraReports 打印控件的简单使用    
/// =====================================
XtraReports 打印控件的简单使用    
/// 使用方法:
XtraReports 打印控件的简单使用    
/// using Oceansoft.LOGERPDEMO.Common;
XtraReports 打印控件的简单使用    
///    private void Form1_Load(object sender, System.EventArgs e) 
XtraReports 打印控件的简单使用    
///    {
XtraReports 打印控件的简单使用    
///        XtraEditorsSimpChineseLocalizer chnLocalizer = new XtraEditorsSimpChineseLocalizer();
XtraReports 打印控件的简单使用    
///        Localizer.Active = chnLocalizer;
XtraReports 打印控件的简单使用    
///    }
XtraReports 打印控件的简单使用    
/// </summary>

XtraReports 打印控件的简单使用    public class XtraEditorsSimpChineseLocalizer : Localizer
XtraReports 打印控件的简单使用    
{
XtraReports 打印控件的简单使用        
/**//// <summary>
XtraReports 打印控件的简单使用        
/// 
XtraReports 打印控件的简单使用        
/// </summary>

XtraReports 打印控件的简单使用        public override string Language
XtraReports 打印控件的简单使用        
{
XtraReports 打印控件的简单使用            
get
XtraReports 打印控件的简单使用            
{
XtraReports 打印控件的简单使用                
return "简体中文";
XtraReports 打印控件的简单使用            }

XtraReports 打印控件的简单使用        }

XtraReports 打印控件的简单使用
XtraReports 打印控件的简单使用        
/**//// <summary>
XtraReports 打印控件的简单使用        
/// 
XtraReports 打印控件的简单使用        
/// </summary>
XtraReports 打印控件的简单使用        
/// <param name="id"></param>
XtraReports 打印控件的简单使用        
/// <returns></returns>

XtraReports 打印控件的简单使用        public override string GetLocalizedString(StringId id)
XtraReports 打印控件的简单使用        
{
XtraReports 打印控件的简单使用            
switch (id)
XtraReports 打印控件的简单使用            
{
XtraReports 打印控件的简单使用                
case StringId.CalcButtonBack:
XtraReports 打印控件的简单使用                    
return "Back";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonC:
XtraReports 打印控件的简单使用                    
return "C";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonCE:
XtraReports 打印控件的简单使用                    
return "CE";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonMC:
XtraReports 打印控件的简单使用                    
return "MC";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonMR:
XtraReports 打印控件的简单使用                    
return "MR";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonMS:
XtraReports 打印控件的简单使用                    
return "MS";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonMx:
XtraReports 打印控件的简单使用                    
return "M+";
XtraReports 打印控件的简单使用                
case StringId.CalcButtonSqrt:
XtraReports 打印控件的简单使用                    
return "sqrt";
XtraReports 打印控件的简单使用                
case StringId.CalcError:
XtraReports 打印控件的简单使用                    
return "计算错误";
XtraReports 打印控件的简单使用                
case StringId.Cancel:
XtraReports 打印控件的简单使用                    
return "取消(&C)";
XtraReports 打印控件的简单使用                
case StringId.CaptionError:
XtraReports 打印控件的简单使用                    
return "错误";
XtraReports 打印控件的简单使用                
case StringId.CheckChecked:
XtraReports 打印控件的简单使用                    
return "选中";
XtraReports 打印控件的简单使用                
case StringId.CheckIndeterminate:
XtraReports 打印控件的简单使用                    
return "未选择";
XtraReports 打印控件的简单使用                
case StringId.CheckUnchecked:
XtraReports 打印控件的简单使用                    
return "未选中";
XtraReports 打印控件的简单使用                
case StringId.ColorTabCustom:
XtraReports 打印控件的简单使用                    
return "自定义";
XtraReports 打印控件的简单使用                
case StringId.ColorTabSystem:
XtraReports 打印控件的简单使用                    
return "系统";
XtraReports 打印控件的简单使用                
case StringId.ColorTabWeb:
XtraReports 打印控件的简单使用                    
return "网络";
XtraReports 打印控件的简单使用                
case StringId.DataEmpty:
XtraReports 打印控件的简单使用                    
return "没有图片";
XtraReports 打印控件的简单使用                
case StringId.DateEditClear:
XtraReports 打印控件的简单使用                    
return "清除";
XtraReports 打印控件的简单使用                
case StringId.DateEditToday:
XtraReports 打印控件的简单使用                    
return "今天";
XtraReports 打印控件的简单使用                
case StringId.ImagePopupEmpty:
XtraReports 打印控件的简单使用                    
return "(空的)";
XtraReports 打印控件的简单使用                
case StringId.ImagePopupPicture:
XtraReports 打印控件的简单使用                    
return "(图片)";
XtraReports 打印控件的简单使用                
case StringId.InvalidValueText:
XtraReports 打印控件的简单使用                    
return "无效的值";
XtraReports 打印控件的简单使用                
case StringId.MaskBoxValidateError:
XtraReports 打印控件的简单使用                    
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 ";
XtraReports 打印控件的简单使用                
case StringId.NavigatorAppendButtonHint:
XtraReports 打印控件的简单使用                    
return "附加";
XtraReports 打印控件的简单使用                
case StringId.NavigatorCancelEditButtonHint:
XtraReports 打印控件的简单使用                    
return "取消编辑";
XtraReports 打印控件的简单使用                
case StringId.NavigatorEditButtonHint:
XtraReports 打印控件的简单使用                    
return "编辑";
XtraReports 打印控件的简单使用                
case StringId.NavigatorEndEditButtonHint:
XtraReports 打印控件的简单使用                    
return "结束编辑";
XtraReports 打印控件的简单使用                
case StringId.NavigatorFirstButtonHint:
XtraReports 打印控件的简单使用                    
return "第一条(&F)";
XtraReports 打印控件的简单使用                
case StringId.NavigatorLastButtonHint:
XtraReports 打印控件的简单使用                    
return "最后一条(&L)";
XtraReports 打印控件的简单使用                
case StringId.NavigatorNextButtonHint:
XtraReports 打印控件的简单使用                    
return "下一条(&N)";
XtraReports 打印控件的简单使用                
case StringId.NavigatorNextPageButtonHint:
XtraReports 打印控件的简单使用                    
return "下一页";
XtraReports 打印控件的简单使用                
case StringId.NavigatorPreviousButtonHint:
XtraReports 打印控件的简单使用                    
return "上一条(&P)";
XtraReports 打印控件的简单使用                
case StringId.NavigatorPreviousPageButtonHint:
XtraReports 打印控件的简单使用                    
return "上一页";
XtraReports 打印控件的简单使用                
case StringId.NavigatorRemoveButtonHint:
XtraReports 打印控件的简单使用                    
return "删除(&D)";
XtraReports 打印控件的简单使用                
case StringId.NavigatorTextStringFormat:
XtraReports 打印控件的简单使用                    
return "{0}/{1}条";
XtraReports 打印控件的简单使用                
case StringId.OK:
XtraReports 打印控件的简单使用                    
return "确定(&O)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuCopy:
XtraReports 打印控件的简单使用                    
return "复制(&C)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuCut:
XtraReports 打印控件的简单使用                    
return "剪切(&T)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuDelete:
XtraReports 打印控件的简单使用                    
return "删除(&D)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuLoad:
XtraReports 打印控件的简单使用                    
return "载入(&L)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuPaste:
XtraReports 打印控件的简单使用                    
return "粘贴(&P)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditMenuSave:
XtraReports 打印控件的简单使用                    
return "保存(&S)";
XtraReports 打印控件的简单使用                
case StringId.PictureEditOpenFileError:
XtraReports 打印控件的简单使用                    
return "错误的图片文件格式";
XtraReports 打印控件的简单使用                
case StringId.PictureEditOpenFileErrorCaption:
XtraReports 打印控件的简单使用                    
return "打开失败";
XtraReports 打印控件的简单使用                
case StringId.PictureEditOpenFileFilter:
XtraReports 打印控件的简单使用                    
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|所有文件|*.*";
XtraReports 打印控件的简单使用                
case StringId.PictureEditOpenFileTitle:
XtraReports 打印控件的简单使用                    
return "打开";
XtraReports 打印控件的简单使用                
case StringId.PictureEditSaveFileFilter:
XtraReports 打印控件的简单使用                    
return "BMP (*.bmp)|*.bmp|GIF (*.gif)|*.gif|JPEG (*.jpg)|*.jpg";
XtraReports 打印控件的简单使用                
case StringId.PictureEditSaveFileTitle:
XtraReports 打印控件的简单使用                    
return "另存为";
XtraReports 打印控件的简单使用                
case StringId.TabHeaderButtonClose:
XtraReports 打印控件的简单使用                    
return "关闭(&C)";
XtraReports 打印控件的简单使用                
case StringId.TabHeaderButtonNext:
XtraReports 打印控件的简单使用                    
return "下一页(&N)";
XtraReports 打印控件的简单使用                
case StringId.TabHeaderButtonPrev:
XtraReports 打印控件的简单使用                    
return "上一页(&P)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuCopy:
XtraReports 打印控件的简单使用                    
return "复制(&C)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuCut:
XtraReports 打印控件的简单使用                    
return "剪切(&T)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuDelete:
XtraReports 打印控件的简单使用                    
return "删除(&D)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuPaste:
XtraReports 打印控件的简单使用                    
return "粘贴(&P)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuSelectAll:
XtraReports 打印控件的简单使用                    
return "全选(&A)";
XtraReports 打印控件的简单使用                
case StringId.TextEditMenuUndo:
XtraReports 打印控件的简单使用                    
return "撤销(&U)";
XtraReports 打印控件的简单使用                
case StringId.UnknownPictureFormat:
XtraReports 打印控件的简单使用                    
return "未知的图片格式";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxAbortButtonText:
XtraReports 打印控件的简单使用                    
return "放弃(&A)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxCancelButtonText:
XtraReports 打印控件的简单使用                    
return "取消(&C)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxIgnoreButtonText:
XtraReports 打印控件的简单使用                    
return "忽略(&I)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxNoButtonText:
XtraReports 打印控件的简单使用                    
return "否(&N)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxOkButtonText:
XtraReports 打印控件的简单使用                    
return "确定(&O)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxRetryButtonText:
XtraReports 打印控件的简单使用                    
return "重试(&R)";
XtraReports 打印控件的简单使用                
case StringId.XtraMessageBoxYesButtonText:
XtraReports 打印控件的简单使用                    
return "是(&Y)";
XtraReports 打印控件的简单使用            }

XtraReports 打印控件的简单使用            
return "";
XtraReports 打印控件的简单使用        }

XtraReports 打印控件的简单使用    }

XtraReports 打印控件的简单使用}



XtraReports 打印控件的简单使用using System;
XtraReports 打印控件的简单使用
using DevExpress.XtraGrid.Localization;
XtraReports 打印控件的简单使用
XtraReports 打印控件的简单使用
namespace SZHeritage.Common
XtraReports 打印控件的简单使用
XtraReports 打印控件的简单使用{
XtraReports 打印控件的简单使用    
/**//// <summary>
XtraReports 打印控件的简单使用    
/// =====================================
XtraReports 打印控件的简单使用    
/// 作用: XtraEditors的简体中文本地化类
XtraReports 打印控件的简单使用    
/// 作者: 
XtraReports 打印控件的简单使用    
/// 日期: 2005-08-12
XtraReports 打印控件的简单使用    
/// </summary>

XtraReports 打印控件的简单使用    public class XtraGridSimpChineseLocalizer:GridLocalizer
XtraReports 打印控件的简单使用    
XtraReports 打印控件的简单使用{
XtraReports 打印控件的简单使用        
public XtraGridSimpChineseLocalizer()
XtraReports 打印控件的简单使用        
XtraReports 打印控件的简单使用{
XtraReports 打印控件的简单使用            
//
XtraReports 打印控件的简单使用            
// TODO: 在此处添加构造函数逻辑
XtraReports 打印控件的简单使用            
//
XtraReports 打印控件的简单使用
        }

XtraReports 打印控件的简单使用        
public override string Language
XtraReports 打印控件的简单使用        
XtraReports 打印控件的简单使用{
XtraReports 打印控件的简单使用            
get 
XtraReports 打印控件的简单使用            
XtraReports 打印控件的简单使用{
XtraReports 打印控件的简单使用                
return "简体中文";
XtraReports 打印控件的简单使用            }

XtraReports 打印控件的简单使用        }

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

XtraReports 打印控件的简单使用            
return "";
        }

    }

}

转载于:https://www.cnblogs.com/xuhaibiao/archive/2011/10/26/2225684.html