Devexpress 13.1 Silverlight GridControl的打印导出

标签: devexpress Silverlight C#
1735人阅读 评论(4) 收藏 举报
分类:

    Devexpress 的打印功能相当强大,在Silverlight下也非常不错。

    在Silverlight下实现GridControl的打印和导出,首先需要在服务端添加dev的ExportService.svc服务,导出时需要用到这个服务。在实现打印和导出的功能时,需要用到一个很重要的类PrintableControlLink,靠PrintableControlLink与GridControl之间建立一个Link来实现打印功能。而导出功能需要向PrintableControlLink对象指定ExportService的路径,使得GridControl和ExportService关联起来实现导出功能。

        //打印
        private void btnPrint_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                PrintableControlLink link = new PrintableControlLink(this.dcInfo.View as DevExpress.Xpf.Printing.IPrintableControl);
                link.Print();
                link.PrintCompleted += (o, a) =>
                {
                    MessageBox.Show("打印成功!");
                };                
            }
            catch { }
        }
    
        //导出excel
        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                SaveFileDialog xlsDialog = new SaveFileDialog();
                xlsDialog.Filter = "XLS文件| *.XLS";
                xlsDialog.DefaultExt = "XLS";
                bool? result = xlsDialog.ShowDialog();
                if (result == true)
                {
                    System.IO.Stream fileStream = xlsDialog.OpenFile();
                    PrintableControlLink link = new PrintableControlLink(this.dcInfo.View as DevExpress.Xpf.Printing.IPrintableControl);
                    link.ExportServiceUri = "../ExportService.svc";
                    link.ExportToXls(fileStream, new DevExpress.XtraPrinting.XlsExportOptions(), true);
                    link.ExportCompleted += (o, a) =>
                    {
                        MessageBox.Show("导出成功!");
                    };
                }
            }
            catch { }
        }                

        //打印预览
        private void _PrintPreview(object sender, RoutedEventArgs e)
        {
            try
            {
                PrintWin win = new PrintWin();

                var preview = new DocumentPreview();
                PrintableControlLink link = new PrintableControlLink(this.dcInfo.View as DevExpress.Xpf.Printing.IPrintableControl);
                link.ExportServiceUri = "../ExportService.svc";
                LinkPreviewModel model = new LinkPreviewModel(link);

                var barManagerCustomizer = new TemplatedBarManagerController() { Template = (DataTemplate)Resources["toolbarCustomization"] };
                preview.BarManager.Controllers.Add(barManagerCustomizer);

                preview.Model = model;
                link.CreateDocument(true);

                win.Title = "列表打印预览";
                win.Content = preview;
                win.Show();

            }
            catch { }
        }


查看评论

JFinal专题之POI-Excel导出解决方案

本专题讲解JFinal导出Excel文件的解决方案,主要使用POI导出,JFinal输出文件流下载到本地
  • 2017年04月18日 11:51

关于DEVExpress的使用心得,有关打印操作!

在用这个第三方插件做报表时,总结了几个问题! 在做类似表格的报表时,先用了PrintControl控件,因为有几级标题,用PageHeaderFooter类进行表头声明可以解决,换行也可以用字符串中...
  • jayinIT
  • jayinIT
  • 2012-04-12 16:15:54
  • 4880

DEV 打印gridcontrl

private void PrintPreview(DevExpress.XtraPrinting.IPrintable gridControlPrint)         {          ...
  • Bychentufeiyang
  • Bychentufeiyang
  • 2013-07-14 22:55:51
  • 3141

利用DevExpress将DataTable数据导出到Excel

方法:根据DataTable列名动态创建GridControl,然后利用GridView导出Excel,同时还可以导出其他形式文件。 using DevExpress.XtraGrid.Views.G...
  • jjhua
  • jjhua
  • 2013-09-23 22:58:12
  • 7216

DevExpress Winform 所有可打印控件(gridcontrol等)通用导出excel方法

关于DevExpress Winform 的所有可打印控件的导出excel 的通用方法,并且解决DevExpress控件自带的方法存在的缺陷问题 1、解决GridControl自带方法不能导出图片; ...
  • u012097590
  • u012097590
  • 2016-10-12 15:19:13
  • 1905

DevExpress GridControl Export 导出

DevExpress的GridControl提供方便的数据导出功能,可以方便的导出Exce,PDF,Html页面,world形式,无需写额外的代码,方便、快捷...
  • lqh4188
  • lqh4188
  • 2015-09-24 16:07:14
  • 4006

DevExpress Winform 控件导出Excel通用方法(GridControl打印多表头和图片等,并支持多个控件同时打印)

  • 2016年10月12日 15:18
  • 32.43MB
  • 下载

Dev Express 中GridControl导出为PDF时出现中文乱码现象的解决办法

1,若仅仅是GridControl的列出现中文乱码在使用XtraGirdview时导出为乱码是因为未正确设置列的Font属性,具体解决办法如下:点击XtraGirdview的RunDesigner 按...
  • giswhw66
  • giswhw66
  • 2017-06-20 10:08:54
  • 738

[DevExpress]GridControl中的GridView内容打印

private void btnPrint_Click(object sender, EventArgs e) { Printable...
  • david_520042
  • david_520042
  • 2016-04-03 22:33:14
  • 3872

关于DevExpress GridControl 和TreeList在窗体被继承后无法设计问题

关于DevExpress GridControl 和TreeList在窗体被继承后无法设计问
  • u012097590
  • u012097590
  • 2016-10-07 13:47:09
  • 832
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 645
    排名: 7万+
    最新评论