Working with ADO.NET Datasets and .NET Objects using Crystal Reports and ASP.NET 2.0 - Binding the Crystal Report with a strongly typed dataset
(Page 3 of 6 )
Once the dataset and Crystal reports are created, add a new web form (DatasetDemo01.aspx) to the project, and then drag and drop a button and CrystalReportViewer Control.
Make sure that the source behind looks like the following:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="DatasetDemo01.aspx.vb" Inherits="DatasetDemo01" %>
<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
</div>
</form>
</body>
</html>
In the code behind, copy the following code:
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Data.SqlClient
Imports System.Data
Partial Class DatasetDemo01
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
CrystalReportViewer1_Navigate(Nothing, Nothing)
End Sub
Protected Sub CrystalReportViewer1_Navigate(ByVal source As Object, ByVal e As CrystalDecisions.Web.NavigateEventArgs) Handles CrystalReportViewer1.Navigate
Dim dt As New Orders.OrdersDataTable
Dim ad As New SqlDataAdapter("SELECT TOP 200 OrderID, OrderDate, CustomerID, EmployeeID FROM orders", "Data Source=.sqlexpress;initial catalog=Northwind;user id=sa; password=eXpress2005")
ad.Fill(dt)
Dim rep As New ReportDocument
rep.Load(Server.MapPath("DatasetDemo01.rpt"))
rep.SetDataSource(CType(dt, DataTable))
Me.CrystalReportViewer1.ReportSource = rep
Me.CrystalReportViewer1.DataBind()
End Sub
End Class
You may have to modify the connection string so that it connects to your server. Finally, set the start page as DatasetDemo01.aspx, execute the application and hit the button to view the report.
Next: .NET objects as data sources to Crystal Reports: adding an entity class >>
More ASP.NET Articles
More By Jagadish Chaterjee