在.NET如何做报表设计器?诚征方案. 本人想在.NET平台下(c#)做一报表设计器,不知各位高手有何方案?我看过网上长江支流兄的金质打印通,确实很好,只可惜提供了网格打印功能,现在客户要求软件提供自绘报表,要求能画直线,文本框,不知如何解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以试一下,Sql Server 自带的Reporting Service SharpDevelop项目里面带有一个Report Generater,开源的,可以画线呀什么的,但是看起来绑定在SharpDevelop IDE上面。我想应该可以把这一部分独立出来吧,或者你剪裁一下这个IDE也可以。 SharpDevelop项目里面带有一个Report Generater,当然如果你得水平足够高得话,你可以自己做一个这样得控件 www.codeproject.com 上面有一个这样的例子,好像叫什么DrawTool,你自己搜索一下改装一下即可,我就是这样做的,现在在我的项目中用的很好。 sea_in_yellow(黄色的海)老兄,,能发给我吗? http://community.csdn.net/Expert/topic/4789/4789524.xml?temp=.1197168 偶用ActiveReport for .net 1.x感觉马马虎虎 我把我做的思路说一下:统一一个接口,如IGoldPrinterElement,至少有一个Draw(Graphacis g)方法。虽然楼主现在只要画线和文本框,如果统一一个接口,这样,无论以后扩展多少个图形元素,只需要实现这个接口即可,再加一个实现此接口的确基类GoldPrinterElement和集合GoldPrinterElementCollection。你做一个控件如GoldPrinterGraphicsControl,,申明一个GoldPrinterElementCollection并实例化,这样,在你的控件上(菜单或有图形样式的图片按钮都可)执行一命令,则增加一个继承于GoldPrinterElement的实例如点、线、矩形、圆、椭圆、标签、文本框、表格等,并把它加到GoldPrinterElementCollection中,在控件GoldPrinterGraphicsControl的OnPaint中循环每一个GoldPrinterElementCollection集合中的GoldPrinterElement并调用它的Draw(e.Graphacis)即可。还有,楼主如果觉得速度慢,请启用图形的二级缓存。实际原理就是把图形画到内存中的Image,然后再把这个Image画到绘图表面上设计器原理:在控件GoldPrinterGraphicsControl的OnPaint中循环每一个GoldPrinterElementCollection集合中的GoldPrinterElement并调用它的Draw(e.Graphacis)为了交互便于拖动设计在控件上有鼠标移动事件,这样有热点的图形可以加边框,如果鼠标是按下并移动的,图形就可移动拖拽,所有这些,实际上就是OnPaint中循环每一个GoldPrinterElementCollection集合中的GoldPrinterElement,如果是当前图形,只需重绘这个图形区,并调用它的Draw(e.Graphacis)速度就快了。原理就是这样,我相信楼主会搞出来。效果可以看一看 www.AnyReport.Net showPopWin弹出的窗口为什么不能拖动 Asp.Net 手机网页 中的 二级联动 ??? 找不到类型或命名空间名称“YuTouWebSite”(是否缺少 using 指令或程序集引用?) 变量的定义,那种好! 怎样从excel中导出的数据集插入到数据库中 C#怎么实现图片在界面上拖动。请教~ C#仪器控制 大数据量的物理表(10-100W条记录) 快速通过 数据适配器进行数据更新 如何实现DataGrid中的列可以编辑但又不出现讨厌的空行 08/09/2002”无法转换为类型“Date”。 如何让自己的程序类似IE可以弹出那个"证书警告"框? 着急啊,我的机器上网很慢,帮帮忙吧大哥们!
好像叫什么DrawTool,你自己搜索一下
改装一下即可,我就是这样做的,现在在我的项目中用的很好。
还有,楼主如果觉得速度慢,请启用图形的二级缓存。实际原理就是把图形画到内存中的Image,然后再把这个Image画到绘图表面上设计器原理:在控件GoldPrinterGraphicsControl的OnPaint中循环每一个GoldPrinterElementCollection集合中的GoldPrinterElement并调用它的Draw(e.Graphacis)
为了交互便于拖动设计
在控件上有鼠标移动事件,这样有热点的图形可以加边框,如果鼠标是按下并移动的,图形就可移动拖拽,所有这些,实际上就是OnPaint中循环每一个GoldPrinterElementCollection集合中的GoldPrinterElement,如果是当前图形,只需重绘这个图形区,并调用它的Draw(e.Graphacis)速度就快了。原理就是这样,我相信楼主会搞出来。
效果可以看一看 www.AnyReport.Net