关闭

Devexpress 13.1 Silverlight GridControl的打印导出

标签: devexpressSilverlightC#
1624人阅读 评论(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 { }
        }


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

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

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

DevExpress控件使用方法:第一篇 gridControl详解

个人整理的DevExpress的控件使用总结,今后会陆续更新。
  • a462575515
  • a462575515
  • 2016-05-11 20:38
  • 8181

dev gridview控件双击事件

使用过dev gridview控件的朋友都知道,gridview本身的
  • gedengbang
  • gedengbang
  • 2014-10-31 13:23
  • 2766

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

  • 2016-10-12 15:18
  • 32.43MB
  • 下载

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

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

使用DevExpress导出GridControl控件数据到excel文件

使用DevExpress可以实现将界面的GridControl的内容直接导出到excel文件,一般实现方法如下所示: public void export(GridControl gridCont...
  • l527719041
  • l527719041
  • 2017-01-09 16:12
  • 720

DevExpress 利用动态创建GridControl导出Excel,并不显示在界面上

DevExpress 利用动态创建GridControl导出Excel,并不显示在界面上
  • u012097590
  • u012097590
  • 2017-06-15 11:10
  • 1168

C# DevExpress 的gridControl或gridView数据导出失败解决方法

在使用DevExpress 的GridPanel控件的时候出现了一个莫名其妙的现象,在使用ExportToXls方法导出表格到Excel的时候,在本地调试没有问题。部署到客户机上的时候问题出现了,居然...
  • lybwwp
  • lybwwp
  • 2012-10-08 17:57
  • 3508

DevExpress gridControl导出到Xls

DevExpress gridControl导出到Xls 第一种方式 public static void ExportGridViewToExcel(DevExpress.XtraGrid....
  • lybwwp
  • lybwwp
  • 2012-12-03 11:20
  • 5673

DevExpress 13.1新增电子表格

DevExpress 13.1新增的电子表格文档API,有了这个API,无需安装Microsoft Excel就可以创建各种电子表格了! 电子表格文档服务器(Spreadsheet Document...
  • wuyuanjingni
  • wuyuanjingni
  • 2013-07-16 17:57
  • 1244
    个人资料
    • 访问:25859次
    • 积分:607
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:5篇
    • 译文:0篇
    • 评论:7条
    最新评论