crp.SetDataSource(DS);
crp.Database.Tables[0].SetDataSource(DS);
crp.Refresh();crystalReportViewer1.ReportSource = crp; 

解决方案 »

  1.   

    to:ddy2000:
    crp.Refresh();这一句出现异常:
    未处理异常CrystalDecisions.CrystalReports.Engine.InvalidArgumentException¡类型的异常出现在crystaldecisions.crystalreports.engine.dll 中
    其它信息:文件C:\DOCUME~1\FELIX0~1\LOCALS~1\Temp\temp_333f3138-e148-4448-9179-0068ee8a32fb.rpt 内出错
    无效表号.
      

  2.   

    你动态生成的CrystalReport1还没设计过吧。报表就是空的。当然看不到的吧。
    我没试过动态生成的CrystalReport1
    我用都是好的。不过D版.net 2003里的水晶报表有问题。当然正的是OK的。昨天MS开放3小时远程免费使用。唉。正版的就是好用啊。爽。:(
      

  3.   

    请真的不能动态生成吗?还有其他办法吗?如果用Dataset1数据集可以吗,可以动态地对数据集Dataset1时行赋值吗?最好给出代码.
      

  4.   

    你的报表是应该先设计的,可以给DataSet赋值,
    你上面的代码没问题,你现在需要的是先设计crystalReport1,
      

  5.   

    To:suosuoyyy
    crystalReport1怎样设计?可以详细说明一下吗??
      

  6.   

    我试过设置过crystalreport1,数据是可以显示了,可以每次运行都会弹出数据库登录窗口.我连接的是另一台数据服务器的数据.即192.168.0.7上的一个表.有什么办法可以让程序不弹出数据库登录窗口???
      

  7.   

    那你现在的crystalreport1是动态生成的还是先设计过的。
    我在机器自己上通过网络连自己好像不会跳出数据库登录窗口的。不过有时把ODBC不小心删了就行。而且会登陆不成功。我用的是firebird的数据库。(够非典型的了吧。不过能记住密码。可能因此不要我登陆吧。)
    不过现在我还在研究发布的问题。前面我说过了D版2003里的水晶报表有问题。:(