在VB.NET中,使用Crystal Report制作报表时,您可以动态指定数据源和及时更新报表内容。
您可以通过DataSet的方式来访问后台数据库,这样您需要手动编码来提取数据,填充DataSet,并传递到报表文件中。在这里,您可以动态指定报表数据源。下面提供一些基本的步骤,关于更详细的信息,请参考下面的链接:
1.Solution Explorer/Add/Add New Item…/DataSet,按照提示建立DataSet;
2.Solution Explorer/Add/Add New Item…/Crystal Report,在建立数据库链接时(Database Expert窗口),请选择<Project Data>,利用上一步建立的DataSet。
如下提供一段示例代码供您参考(用来建立数据库链接,填充DataSet,并绑定到报表文件中):
Private Sub BindReport()
Dim myConnection As New SqlClient.SqlConnection()
myConnection.ConnectionString = "Server=localhost;database=pubs;uid=sa;pwd=sa"
Dim myCommand As New SqlClient.SqlCommand()
myCommand.Connection = myConnection
‘您可以在如下的SQL语句中动态添加条件,包括Where子句
myCommand.CommandText = "Select * from Stores Where ……"
myCommand.CommandType = CommandType.Text
Dim myDA As New SqlClient.SqlDataAdapter()
myDA.SelectCommand = myCommand
Dim myDS As New Dataset1()
myDA.Fill(myDS, "Stores")
Dim oRpt As New CrystalReport1()
oRpt.SetDataSource(myDS)
CrystalReportViewer1.ReportSource = oRpt
End Sub
请根据您系统的实际情况,将提供的代码进行修改。希望以上答复给您带来帮助。
另外,Visual Studio.NET也提供了一些Crystal Report的简单例子[ C:\Program Files\Microsoft Visual Studio .NET\Crystal Reports\Samples ],可供您参考。