有一种方法:1 在页面上添加一个CrystalReport控件:CrystalReport1
2 添加项目,新建一个CrystalReport页面:Report1.rpt,并设置好(这一步是难点)。
3 将添加到DataGrid的数据填充到一个DataSet
4 实例化Dim myReport As New Report1()
5 myReport.SetDataSource(youDataSet)
6 CrystalReport1.ReportSource = myReport

解决方案 »

  1.   

    happyno7(啤酒罐) 的方法对!
      

  2.   

    方法应该是楼上的方法,但在具体实施过程中你会遇到各种问题,多看看资料,相信你能解决!!呵呵。。
    http://expert.csdn.net/Expert/topic/1900/1900717.xml?temp=3.719729E-02
      

  3.   

    TO: happyno7(啤酒罐)
    能给出一个详细具体点的资料和步骤吗?
      

  4.   

    http://www.csdn.net/develop/read_article.asp?id=16992 Dim dsdataSet As New DataSet()                Dim oRpt As New rptClient()   '已建立的报表rptClient                请读者自行填充数据集dsdataSet                 '使用“报表引擎”对象模型将填充的数据集,传递给报表                oRpt.SetDataSource(dsdataSet.Tables(0))                ' 将带有数据的报表对象绑定到 Windows 窗体查看器,rptVew(CrystalReportViewer控件)                rptVew.ReportSource = oRpt
      

  5.   

    谢谢上面各位的支持,但可能是我刚接触水晶报表,很多地方看得不明白.我把自己的想法说得更具体些吧:1. 我希望可以把DataGrid中显示的数据,包括自定义的列头和经过字段筛选后的DataGrid内容传给水晶报表,让它生成一个对应的RPT文件.2. 如何将生成的RPT文件导出成WORD或者是HTML的格式.
      

  6.   

    1.DataGrid -->DataSet
    2.把这个DataSet推给报表就可以啦.
      

  7.   

    我想要一些救命代码看看.
    如果DataGrid设置的分页显示,那传过去的DataSet是一页的内容还是全部的内容?
      

  8.   

    这种方法不用datagrid转到水晶报表,只是把绑定datagrid的数据集转为绑定已建好的水晶报表就可以了
      

  9.   

    设计水晶报表是.选择外部(已经)建立好的dataset在页面中真这个dataset就可以了lihonggen0(李洪根,用.NET,标准答案来了) 讲的是对的
      

  10.   

    oRpt.SetDataSource(dsdataSet.Tables(0))
    如果你传过去的数据集是整个的,报表就会显示所有的内容如果你想传单个页,就传单个页的数据