P plwei Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-25 #1 自定义了一个报表预览,要让用户可以实时的调整各列的位置,以及报表的 边距,请问应该怎样做? (就是在预览窗口下,数据修改后在预览窗口下能马上表现出来)
K Kent Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-07 #12 只能编程动态修改了... 说实话,QUICKREPORT真不咋样...
黄 黄耀彰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-08 #13 说实话,QUICKREPORT真不咋样...有同感! “只能编程动态修改了” 真的。 plwei: “那么这个问题的分我该怎么分呢?” 要源码吗?(我的一个“动态”QuickRep报表)
黄 黄耀彰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-08 #15 受之有愧! 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; 。。。。。。
受之有愧! 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; 。。。。。。