如何在VS里实现DataGridView报表设计器?

emailqjc 2010-04-23 05:31:09
我见过有人在C#的WinForm程序里做的一个DataGridView通用报表打印, 以及报表设计器,我问了,是用PrintDocument控件做的,利用PrintDocument控件可以打印报表,也可以设

计报表头,报表标头等,并可以通过X,Y坐标调整其打印位置,现在我想做一个报表设计器,要求能在可视化状态下随意增加Label,调整Label的大小以及移动改变X,Y坐标,并能

改变DataGridView的大小,以及X,Y坐标,设计好后保存到数据库(表tbReportInfo中),在打印DataGridView的时候,读取tbReportInfo中对应控件列表,以及对应坐标请问在C#里

面如何实现?
我的初步想法如下:
1、增加一张表(报表控件列表及坐标)tbReportInfo:
Rid 报表序号(主键)
RName 报表名
CtrTp 控件类型
CtrRemark 控件说明
CtrID 控件序号(主键)
XPos X坐标
YPos Y坐标
FName 字体名称
FSize 字体大小
例如:
报表序号,报表名 ,控件类型 ,控件说明 ,控件序号 ,X坐标 ,Y坐标 ,字体名称,字体大小
0001 入库单 DataGridView 入库明细数据 1 10 12 ,宋体 10
0001 入库单 Label 本单总金额 2 10 16 ,宋体 10
0001 入库单 Label 本单品种数 3 10 20 ,宋体 10
0001 入库单 Label 送货商家 4 10 24 ,宋体 10
0001 入库单 Label 入库仓库 5 10 24 ,宋体 10


2、在报表设计的时候保存对应Rid 报表序号中各控件的坐标以及字体大小,字体名称

3、在执行打印时候根据其报表类型读第1步中的信息



...全文
263 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
emailqjc 2010-06-26
  • 打赏
  • 举报
回复
顶一下
足球中国 2010-04-24
  • 打赏
  • 举报
回复
你都写好照做呗。

emailqjc 2010-04-24
  • 打赏
  • 举报
回复
怎么没人回答呢,自己顶一下

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧