DevExpress强大到难以想象,其很多组件、接口、自定义事件可完成较好的效果,可节省不少事。如下图所示,用的两个ChartControl、一个GridControl制作的平断面示意图,里面涉及不少知识点:高程断面生成、悬链线的算法、转角计算、方向图的绘制、自定义标注等。

展示完成后,要打印输出,每个控件都有打印和输出的接口,怎么将其整体输出呢?本想自己写方法,却谁知DevExpress已做好了这方面的工作,即使用PrintableComponentLink接口,示例代码如下:

PrintableComponentLink link1 = new PrintableComponentLink();
PrintableComponentLink link2 = new PrintableComponentLink();
PrintableComponentLink link3 = new PrintableComponentLink();
CompositeLink compositeLink = new CompositeLink(new PrintingSystem());
link1.Component = this.chartControl1;
link2.Component = this.chartControl2;
link3.Component = this.gridControl1;
compositeLink.Links.Add(link1);
compositeLink.Links.Add(link2);
compositeLink.Links.Add(link3);
compositeLink.Landscape = true;
compositeLink.ShowRibbonPreview(UserLookAndFeel.Default);
//compositeLink.ExportToImage(fileName);

  

多个组件联合打印输出——PrintableComponentLink的更多相关文章

  1. vue(四)-vuex与组件联合使用

    官方定义: Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.我的理解就是,vuex就是前端的数据库. 1.首先核心是store,是个仓库,包含着state,因此第一步需要新建一个sto ...

  2. Redux教程3:添加倒计时

    前面的教程里面,我们搭建了一个简单红绿灯示例,通过在console输出当面的倒计时时间:由于界面上不能显示倒计时,用户体验并不良好,本节我们就添加一个简单的倒计时改善一下. 作为本系列的最后一篇文章, ...

  3. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  4. jetty服务器的安装和部署、新增到开机启动服务

    Jetty的首页地址是http://www.mortbay.org/jetty/,点击Downloads进入下载介绍页面,由于Jetty7之后,托管服务有Eclipse接替,所以jetty6.1之前( ...

  5. Bootstrap基本使用[转]

    Bootstrap是Twitter推出的一个由动态CSS语言Less写成的开源CSS/HTML框架(同时提供Sass 移植版代码).Bootstrap提供了全面的基本及组件样式并自带了13个jQuer ...

  6. 神经机器翻译 - NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

    论文:NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE 综述 背景及问题 背景: 翻译: 翻译模型学习条件分布 ...

  7. Spring3基础原理解析

    一.Spring3主要含义 Spring3是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 注:IOC的作用:对象依赖的其他对象通过被动的形式传递进来而不是这个对象常见或者查找依赖对象 ...

  8. 【Android】完善Android学习(三:API 3.0)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  9. 手把手教你用深度学习做物体检测(五):YOLOv1介绍

    "之前写物体检测系列文章的时候说过,关于YOLO算法,会在后续的文章中介绍,然而,由于YOLO历经3个版本,其论文也有3篇,想全面的讲述清楚还是太难了,本周终于能够抽出时间写一些YOLO算法 ...

随机推荐

  1. Codeforces 235C Cyclical Quest 字符串 SAM KMP

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF235C.html 题目传送门 -  CF235C 题意 给定一个字符串 $s$ ,多组询问,每组询问的形式为 ...

  2. Python re模块, xpath 用法

    1.re正则的用法总结 (1). ^ 表示以哪个字符为开头      eg:  '^g' 表示以g开头的字符串      . 表示任意字符 '^g.d'  表示以g开头第二个为任意字符,第三个为b的字 ...

  3. windows配置tomcat https访问

    主要参考两篇: http://blog.csdn.net/minute_man/article/details/53787682 http://blog.csdn.net/chow__zh/artic ...

  4. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  5. Quratz的理解

    一:公共术语 1.为什么使用Qurztz 在某一个有规律的时间点干某件事.并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事. Quartz就是 ...

  6. Python编程基础(一)

    1.Python中的变量赋值不需要类型声明 2.等号(=)用来给变量赋值 3.字符串拼接用  “+”  号 temp=‘123’ print('temp的值是%s'%temp) #整数和字符创的转换, ...

  7. poj-1287 Networking(Prim)

    题目链接:http://poj.org/problem?id=1287 题目描述: 请先参考关于prim算法求最小生成树的讲解博客:https://www.cnblogs.com/LJHAHA/p/1 ...

  8. 【python】TCP/IP编程

    No1: [TCP] 客户端 import socket s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('www.sina ...

  9. Linux发展历史

    一.硬件与软件发展历史 计算机由硬件和软件组成结构 硬件 1946年诞生于宾夕法尼亚州,占地170平米,重量达到30吨,名字叫做ENIAC(electronic numerical integrato ...

  10. Django Simple Captcha插件

    正文开始 先看官方描述 1.安装 打开控制台,输入如下: pip install django-simple-captcha 2.把APP添加到Django项目进入自己的Django项目,在setti ...