我想在打印窗口中只打印选中的记录,应该怎么做?
我试来试去,好像要么全都打印,要么只打印第一条?应该怎么打印选中的记录?

解决方案 »

  1.   

    其实你将要打印的字段放在DetailBand上有两种执行方式,一种比较简单,设定TQuickRep的DataSet属性,然后QuickRep在打印的时候就会自动浏览数据集,将每一行的内容都打印到纸上,我想你使用的是这种方法,但是当你只想打印其中的某些行时(例如选中的行),那么你就不应该指定DataSet属性,而是自己在TQuickRep的OnNeedData事件中浏览数据集(可通过DBGrid来得知选中的行),该函数的执行原理是这样的,当TQuickRep打印到DetailBand时,就会调用该函数,每调用一次该函数仅仅只打印页面中的一行明细,但它有一个MoreData属性,你设置成true,它就认为你还有纪录要打印,如果数据集浏览完毕,你就将其设成false,表示DetailBand已经处理完毕;因此你可以一边浏览数据集,一边设置MoreData属性来完成DetailBand的打印工作,写了这么多,希望对你有用!
      

  2.   

    好,谢谢DANIEL007,讲的很详细,可以写个例程给我吗?