如何在VS里实现DataGridView报表设计器?
我见过有人在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步中的信息