请问,我用quickrpt做一个和数据库相关记录的表格
如何将制定的数据库记录传递给quickrpt组件呢?
我的目前老是默认显示最后一条记录!

解决方案 »

  1.   

    我直接使用的语句:unit2.Form2.QuickRep1.Preview;
      

  2.   

    确保:
    1:QuickRep1.dataset设置好
    2:上面的每个报表控件的dataset和field设置正确,并且都在detailband里;
    3:dataset打开;之后再QuickRep1.Preview;
      

  3.   

    我没有使用detailband
    我仅仅相做一个表格,每个记录显示一次,构成一个表格就可以
    我是直接使用QRDBText,dataset 和 field都设置完好
    但是传递过去的数据总是最后一条记录
    我使用navigator控制在前面的记录,也不可以
      

  4.   

    不用detailband是不能显示多条记录的。
    你把QRDBText放进detailband里试试。
      

  5.   

    也许我没说清楚
    我不想显示多条记录,我只想显示一条记录
    但是这条记录,应该是我指定的,比如说就是navigator所点击的那一条
    现在的问题是显示的是一条记录,但是不是我要显示的那一条
      

  6.   

    明白了。如果你unit2的dataset跟unit1的不是一个,那自然不同步了。解决办法:在unit1中定义
    var index:integer;index := unit1.dataset1.recno;在在unit2设置unit2.dataset1.recno := unit1.index;
      

  7.   

    我想是不是设置quickreport的高度
    好像有个属性是强制分页打印
      

  8.   

    是不是需要过滤dataset啊?
    因为我只想显示dataset中的一条记录
      

  9.   

    你肯定是将数据集光标停留在最后一条记录上了!
    如果你只显示一条记录的话,就将对应的dataset中的记录定位好在
    quickreport.preview
      

  10.   

    我没有试,但如果只显示一条的话,不行就干脆不用QRDBTEXT直接把数据传到QRLABEL里显示即可解决
      

  11.   

    既然只要一条.那你就用TEXT而不需要用DBTEXT了.在打印之前给TEXT一个值既可.