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);