欢迎来到天天文库
浏览记录
ID:34640535
大小:28.67 KB
页数:3页
时间:2019-03-08
《在水晶报表中加载arcengine地图》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在水晶报表中加载ArcEngine地图众所周知水晶报表中动态更新只能通过与数据库的连接实现于是得出若要将地图窗口的视图动态打印出来可以通过以下这种思路:1.构建数据表,最好是在本地,避免网络耗时;在其中添加blob字段。2.程序中加载Crystalviewer,与报表关联;3.编程获取mapcontrol的当前视图,并导出为图像格式;4.将ArcEngine导出的图片通过二进制格式读入到报表关联的数据库blob字段中;5.针对水晶报表中blob字段对应的对象,则可以显示出欲打印的地图。部分参考代码如下:privatevoidsimpleButton1_Click(object
2、sender,System.EventArgse) { ESRI.ArcGIS.esriSystem.IObjectCopyObjectCopy=newESRI.ArcGIS.esriSystem.ObjectCopyClass(); ESRI.ArcGIS.Carto.IActiveViewView0; View0=this.axMapControl1.ActiveView;
3、 //导出图片 ESRI.ArcGIS.Output.IExportExport; Export=newESRI.ArcGIS.Output.ExportJPEGClass(); Export.ExportFileName="1053.jpg"; //Export.Resolution=96; ESRI.ArcGIS.Display.tagRECTexpor
4、tRec; exportRec=View0.ExportFrame; ESRI.ArcGIS.Geometry.IEnvelopeBounds=newESRI.ArcGIS.Geometry.EnvelopeClass(); Bounds.PutCoords(exportRec.left,exportRec.top,exportRec.right,exportRec.bottom); Export.Pi
5、xelBounds=Bounds; inthdc; hdc=Export.StartExporting(); View0.Output(hdc,96,refexportRec,null,null); Export.FinishExporting(); Export.Cleanup();
6、 Form2frm=newForm2(); frm.ShowDialog(); }privatevoidForm2_Load(objectsender,System.EventArgse) { YSSQcr=newYSSQ(); DataSetds=newDataSet(); Stringpath;
7、 DataColumncolumn=newDataColumn(); DataRowrow; //调整格式 BlobFieldObjectBObj; BObj=cr.ReportDefinition.ReportObjects["XMTB1"]asBlobFieldObject;
此文档下载收益归作者所有