再谈动态打印字段(100分)

  • 主题发起人 主题发起人 bushuang
  • 开始时间 开始时间
B

bushuang

Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友:
我作了一个单一的数据库程序,只有一张表大约50个字段,现要根据查询结果不
同,需要选择不同的字段打印出来形成报表。以前也有几位朋友有相同的问题,也有一
些说明,但在学习总是出现各种问题。又因使用者急需此功能而我自知如自己想完成这
个需要较长时间,所以请各位帮助我谢谢!
 
首先把可能出现的字段通通做在报表里,然后在Detail的BeforePrint事件中判断有无哪
些字段,有则把相应的字段打印控件Visible改为True,没有则改为False;
如果还要实现别的一些功能在这里都可以设置,很方便的,我做过。
 
还有其它办法吗?
 
to snappy:
真的方便吗?
Visible是可以设成false的,可是各个字段的位置也是动态变动的啊。

 
你可以将数据库中的字段放入Tstringlist中,由用户来选取要打印的字段,根据用户所
选的字段,按检索结果将字段的值用TCanvas画出来到打印或TImage上进行预览。
你如果要让用户在检索结果中选取记录进行打印,可能会必较麻烦,但可以实现。
方法较笨,但可以实现功能。
 
最好是不是能找到一些具有打印功能的DBGrid控件。用户可以自由设定Grid的栏位,
再由这些Grid控件的打印功能自已实现预览和打印。
 我一直有这个想法,可惜没有能找到这样的控件,那位高人能帮我找一下。
  呵呵,这个问题我也可以给分啊,就是不知道怎么给
 
tuorx,你好!能不能给一个详细例子,我对打印这块不太熟悉。
 
我的方法和tuorx类似,当用户选择了一些打印的字段,把这些中文显示的字段通过条件语句
转换成你的表中的字段,然后放在TStrings中,然后使用循环在QuickRep的Detald部份增
加QRDBTextT. QRSHAPE就可以了.无非就是划线的时候麻烦一点吧
 
to cachencc:
最好是不是能找到一些具有打印功能的DBGrid控件。用户可以自由设定Grid的栏位,
再由这些Grid控件的打印功能自已实现预览和打印。
 我一直有这个想法,可惜没有能找到这样的控件,那位高人能帮我找一下。
  呵呵,这个问题我也可以给分啊,就是不知道怎么给
我做了一个控件Report Machine,可以打印DBGrid,Form等 http://rmachine.yeah.net

 
http://delphibase.yeah.net salaryexe.zip
 
感谢大家!热情相助!
我还是不的要领,但为了感谢大家我将该问题结束!
 
感谢大家!热情相助!
我还是不的要领,但为了感谢大家我将该问题结束!
 
多人接受答案了。
 
后退
顶部