关于自定义报表预览的一个问题(100分)

  • 主题发起人 主题发起人 plwei
  • 开始时间 开始时间
P

plwei

Unregistered / Unconfirmed
GUEST, unregistred user!
自定义了一个报表预览,要让用户可以实时的调整各列的位置,以及报表的
边距,请问应该怎样做?
(就是在预览窗口下,数据修改后在预览窗口下能马上表现出来)
 
用ReportMachine可以
 
我只想用quickreport 来实现。
 
那么这个问题的分我该怎么分呢?
 
你总不至于动态修改各个控件的位置吧!
 
还是改用ReportBuilder吧,否则很难实现。
 
只能编程动态修改了...
说实话,QUICKREPORT真不咋样...
 
说实话,QUICKREPORT真不咋样...有同感!
“只能编程动态修改了” 真的。

plwei:
“那么这个问题的分我该怎么分呢?”
要源码吗?(我的一个“动态”QuickRep报表)

 
多人接受答案了。
 
受之有愧!
plwei:
你可以这样做。
form1:(主要工作窗口 )Table1、DataSource1、Gird1...
form2:QuickRep1、Button1...
源码在家里,现在正上班。就说做法好了,对不起。
算法思路:
1、一个报表的大小形态与字段(表中)的宽关系最大,
所以定段宽最要紧。
读Gird1中一个字段的标题(Titl)的Caption属性。(是一个字符串)
求字数 N (用Length())
2、调节form1的Gird1的列宽:=N * 21
//小四号字每个字约宽21点,自己可测一下。
其它列也要调节宽度。
3、form2:调节QuickRep1中的QRShape1宽
L:=2;
循环
QRShape1。width:=form1的Gird1的第一列的宽;
QRDBText1.width:=form1的Gird1的第一列的宽-4;

QRShape1。Left :=L ;
QRDBText1.Left :=L-2;
L:=L+QRShape1。width

QRShape2。width:=form1的Gird1的第二列的宽;
QRDBText2.width:=form1的Gird1的第二列的宽-4;

QRShape2。Left :=L ;
QRDBText2.Left :=L-2;
L:=L+QRShape2。width;
。。。。。。

 
后退
顶部