예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="XtraPrintService"/> class.
        /// </summary>
        /// <param name="printable">The printable.</param>
        public XtraPrintService(IPrintable printable)
        {
            printSystem = new PrintingSystem();
            printSystem.ShowMarginsWarning = false;

            PrintableComponentLink pcl = new PrintableComponentLink(printSystem);
            pcl.CreateMarginalHeaderArea += new CreateAreaEventHandler(pcl_CreateMarginalHeaderArea);
            pcl.CreateMarginalFooterArea += new CreateAreaEventHandler(pcl_CreateMarginalFooterArea);
            pcl.Component = printable;
            printSystem.Links.Add(pcl);

            PrinterSettingsUsing pst = new PrinterSettingsUsing();
            pst.UseMargins = false;
            pst.UsePaperKind = false;
            printSystem.PageSettings.PaperKind = PaperKind.A4;
            printSystem.PageSettings.PaperName = "A4";
            printSystem.PageSettings.LeftMargin = 5;
            printSystem.PageSettings.RightMargin = 5;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
        }
예제 #2
0
        public ReportCenter(IPrintable Printable, string ReportName, string Condition)
        {
            printSystem = new PrintingSystem();
            mReportName = ReportName;
            mCondition = Condition;
            PrintableComponentLink pcl = new PrintableComponentLink();
            pcl.CreateMarginalHeaderArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalHeaderArea);
            pcl.CreateMarginalFooterArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalFooterArea);
            pcl.Component = Printable;
            printSystem.Links.Add(pcl);
            pcl.CreateDocument();

            PrinterSettingsUsing pst = new PrinterSettingsUsing();
            pst.UseMargins = true;
            //pst.UsePaperKind = false;
            printSystem.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
            printSystem.PageSettings.PaperName = "A4";
            printSystem.PageSettings.LeftMargin = 30;
            printSystem.PageSettings.RightMargin = 30;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="XtraPrintService"/> class.
        /// </summary>
        /// <param name="printable">The printable.</param>
        public XtraPrintService(IPrintable printable)
        {
            printSystem = new PrintingSystem();
            printSystem.ShowMarginsWarning = false;

            PrintableComponentLink pcl = new PrintableComponentLink(printSystem);

            pcl.CreateMarginalHeaderArea += new CreateAreaEventHandler(pcl_CreateMarginalHeaderArea);
            pcl.CreateMarginalFooterArea += new CreateAreaEventHandler(pcl_CreateMarginalFooterArea);
            pcl.Component = printable;
            printSystem.Links.Add(pcl);

            PrinterSettingsUsing pst = new PrinterSettingsUsing();

            pst.UseMargins   = false;
            pst.UsePaperKind = false;
            printSystem.PageSettings.PaperKind   = PaperKind.A4;
            printSystem.PageSettings.PaperName   = "A4";
            printSystem.PageSettings.LeftMargin  = 5;
            printSystem.PageSettings.RightMargin = 5;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
        }
예제 #4
0
        public DevGridReport(IPrintable Printable, PaperKind paperKind)
        {
            printSystem = new PrintingSystem();
            mReportName = "";
            mCondition  = "";
            PrintableComponentLink pcl = new PrintableComponentLink();

            pcl.CreateMarginalHeaderArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalHeaderArea);
            pcl.CreateMarginalFooterArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalFooterArea);
            pcl.Component = Printable;
            printSystem.Links.Add(pcl);
            pcl.CreateDocument();

            PrinterSettingsUsing pst = new PrinterSettingsUsing();

            pst.UseMargins   = false;
            pst.UsePaperKind = false;
            printSystem.PageSettings.PaperKind   = paperKind;
            printSystem.PageSettings.PaperName   = "A4";
            printSystem.PageSettings.LeftMargin  = 2;
            printSystem.PageSettings.RightMargin = 2;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
        }
예제 #5
0
        public ReportCenter(IPrintable Printable, string ReportName, string Condition)
        {
            printSystem = new PrintingSystem();
            mReportName = ReportName;
            mCondition  = Condition;
            PrintableComponentLink pcl = new PrintableComponentLink();

            pcl.CreateMarginalHeaderArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalHeaderArea);
            pcl.CreateMarginalFooterArea += new DevExpress.XtraPrinting.CreateAreaEventHandler(link_CreateMarginalFooterArea);
            pcl.Component = Printable;
            printSystem.Links.Add(pcl);
            pcl.CreateDocument();

            PrinterSettingsUsing pst = new PrinterSettingsUsing();

            pst.UseMargins = true;
            //pst.UsePaperKind = false;
            printSystem.PageSettings.PaperKind   = System.Drawing.Printing.PaperKind.A4;
            printSystem.PageSettings.PaperName   = "A4";
            printSystem.PageSettings.LeftMargin  = 30;
            printSystem.PageSettings.RightMargin = 30;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
        }
예제 #6
0
        /// <summary>
        /// 数据表格打印预览
        /// </summary>
        /// <param name="ListGrid">数据表格</param>
        /// <param name="strHead">表头显示信息</param>
        public static void PrintView(DevExpress.XtraGrid.GridControl ListGrid,DevExpress.XtraGrid.Views.Grid.GridView gridView, string strHead)
        {
            Cursor currentCursor = Cursor.Current;
            Cursor.Current = Cursors.WaitCursor;
            //"Report file creating","Read Data, Please waiting..."
            DevExpress.Utils.WaitDialogForm frmWait = new DevExpress.Utils.WaitDialogForm("正在获取数据,请稍候...", "表格报表");
            frmWait.Show();

            //以下以前的一种用法,现在改为可加上表头信息的印方式
            //if (DevExpress.XtraPrinting.PrintHelper.IsPrintingAvailable)
            //    DevExpress.XtraPrinting.PrintHelper.ShowPreview(ListGrid);

            //else
            //    //"XtraPrinting Library is not found..."
            //    DevExpress.XtraEditors.XtraMessageBox.Show(common.GetLanguageWord("MESSAGE", "M0028"), "", MessageBoxButtons.OK, MessageBoxIcon.Information);

            //以下为采用新的打印方式
            string middleColumn = strHead;
            string rightColumn = string.Format("打印时间:{0:g}", DateTime.Now);
            PrintableComponentLink link = new PrintableComponentLink(new PrintingSystem());


            PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter;

            phf.Header.Content.Clear();
            phf.Header.Font = new Font("宋体", 12, FontStyle.Bold);

            phf.Header.Content.AddRange(new string[] { "打印用户:" + Common._personname, middleColumn, rightColumn });
            phf.Footer.Content.AddRange(new string[] { "", "页次[页 #/#]", "" });

            gridView.OptionsPrint.AutoWidth = false;    //<- 2012-09-18 add

            link.Component = ListGrid;
           


            //link.CreateMarginalHeaderArea += new CreateAreaEventHandler(Link_CreateMarginalHeaderArea);
          
            DevExpress.LookAndFeel.UserLookAndFeel lookfeel = new DevExpress.LookAndFeel.UserLookAndFeel(ListGrid);
            lookfeel.ParentLookAndFeel = ListGrid.LookAndFeel;
            PrintingSystem printSystem = new PrintingSystem();
            PrinterSettingsUsing pst = new PrinterSettingsUsing();
            pst.UseMargins = true;
            pst.UsePaperKind = true;
            printSystem.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
            printSystem.PageSettings.PaperName = "A4";
            printSystem.PageSettings.LeftMargin = 1;
            printSystem.PageSettings.RightMargin = 1;
            printSystem.PageSettings.Landscape = true;
            printSystem.PageSettings.AssignDefaultPrinterSettings(pst);
            link.PaperKind = printSystem.PageSettings.PaperKind;
            link.Margins = printSystem.PageSettings.Margins;
            link.Landscape = printSystem.PageSettings.Landscape;
            link.CreateDocument();
            link.ShowPreview(lookfeel);

            Cursor.Current = currentCursor;
            frmWait.Dispose();
            frmWait = null;
        }