这样也可以.. using CrystalDecisions.Shared ; //负责解释TableLogOnInfo类 using CrystalDecisions.CrystalReports.Engine ; //负责解释ReportDocument类 运行时登录数据库服务器的方法(PULL 模式) 在报表的cs文件中,加上数据库连接。 1、设置 ReportDocument 的 TableLogonInfo…… Dim ReportDoc As New ReportDocument() Dim logonInfo As New TableLogonInfo Dim table As table ReportDoc.Load("C:\Rpts\publish.rpt") For Each table IN ReportDoc.DataBase.Tables logonInfo= table.LogonInfo with logonInfo.connectioninfo .serverName= "Localhost" .Databasename= "pubs" .UserID= "sa" .Password="" End With table.applyLogonInfo(logonInfo) next table Crviewer.reportsource = reportDoc
如何在水晶报表是 绑定DATASET?
ds=....
...
this.Cursor =Cursors.WaitCursor ;//改变一下鼠标就可以让用户接受啦..
CrystalReport1 cr =new CrystalReport1();
cr.SetDataSource(ds);
this.crystalReportViewer1.ReportSource =cr;//直接赋给它就不用登陆啦..
this.Cursor =Cursors.Default ;
听说速度问题可以用多线程哦。不过我还没有做出来..:)楼主解决了的话,麻烦也给个message我。谢谢。
using CrystalDecisions.Shared ; //负责解释TableLogOnInfo类
using CrystalDecisions.CrystalReports.Engine ; //负责解释ReportDocument类
运行时登录数据库服务器的方法(PULL 模式)
在报表的cs文件中,加上数据库连接。
1、设置 ReportDocument 的 TableLogonInfo……
Dim ReportDoc As New ReportDocument()
Dim logonInfo As New TableLogonInfo
Dim table As table
ReportDoc.Load("C:\Rpts\publish.rpt")
For Each table IN ReportDoc.DataBase.Tables
logonInfo= table.LogonInfo
with logonInfo.connectioninfo
.serverName= "Localhost"
.Databasename= "pubs"
.UserID= "sa"
.Password=""
End With
table.applyLogonInfo(logonInfo)
next table
Crviewer.reportsource = reportDoc