我的数据库表是动态生成的(每次根据初始条件,表的字段会有变化),所以只好亦动态的方式生成报表。我想通过以下方式解决。用DBGrid控件来显示Table表。在QuickReport中显示DBGrid。从而解决动态问题。试写以下代码:
QuickReport5.DataSet:=unit1.MainForm.DBGrid1.DataSource.DataSet;
QuickReport5.QRDBText2.DataSet:=unit1.MainForm.DBGrid1.DataSource.DataSet;
QuickReport5.QRDBText2.DataField:=unit1.MainForm.DBGrid1.DataSource.DataSet.Fields[0].Name;
QuickReport5.QRCompositeReport1.Preview;
(QRDBText2放在QRBand上,QRBand的BandType属性设为rbDetail
但是运行后,不能在预览中显示DBgrid的内容。
请大家帮忙看一看,急切等待ing...谢谢

解决方案 »

  1.   

    控制qrp的onNeedData事件,自己处理
      

  2.   

    ppayun(狗狗鱼) :谢谢,我刚学DELPHI不久,能不能具体说一下。
    lihao_ningxia(耗子) :我忘记说明了,因为想在一个预览中同时显示多张表,所以用了QRCompositeReport控件
      

  3.   

    谢谢,问题已经解决了。
    应该为
    QuickReport5.QRDBText2.DataField:=unit1.MainForm.DBGrid1.DataSource.DataSet.Fields[0].FieldName;