XtraReports 打印控件的简单使用

    技术2025-08-06  15

    今天有人问我DEV打印控件 的使用,刚好自己好长时间没有编码了,所以写了一个简单的DataTale打印练习,希望时间长了以后看到这片文章以后能熟悉1)建立工程文件2)在工程里面添加新项,名称XtraReport2.cs3) 在打印调用主界面 引用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 里面的图形界面里面进行属性的相关设置,和增加相关的打印控件,具体操作如下图: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 下面的源码打印附加:(控件本地化)

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

    using  System; using  DevExpress.XtraGrid.Localization; namespace  SZHeritage.Common {    /// <summary>    /// =====================================    /// 作用: XtraEditors的简体中文本地化类    /// 作者:     /// 日期: 2005-08-12    /// </summary>    public class XtraGridSimpChineseLocalizer:GridLocalizer    {        public XtraGridSimpChineseLocalizer()        {            //            // TODO: 在此处添加构造函数逻辑            //        }        public override string Language        {            get             {                return "简体中文";            }        }        public override string GetLocalizedString(GridStringId id)        {            switch(id)            {                case GridStringId.MenuColumnBestFit:                    return "适合列宽度";                case GridStringId.MenuColumnBestFitAllColumns:                    return "适合所有列宽度";                case GridStringId.MenuColumnClearFilter:                    return "取消筛选";                case GridStringId.MenuColumnColumnCustomization:                    return "选择显示列";                case GridStringId.MenuColumnSortAscending:                    return "升序排列";                case GridStringId.MenuColumnSortDescending:                    return "降序排列";                case GridStringId.MenuColumnGroup:                    return "此列分组";                case GridStringId.MenuColumnGroupBox:                    return "自定义分组";                case GridStringId.MenuGroupPanelFullCollapse:                    return "折叠";                case GridStringId.MenuGroupPanelFullExpand:                    return "展开";                case GridStringId.MenuGroupPanelClearGrouping:                    return "清除分组";                case GridStringId.GridGroupPanelText:                    return "拖动列到此处实现,实现按此列分组";                case GridStringId.CustomizationCaption:                    return "自定义";                            }            return "";        }    }}
    最新回复(0)