Introduction
This article discusses how you can create a dynamic Crystal Report and set its Margin at runtime.
Using the Code
The below function fills dataset
's table from the Northwind database, and at form load, it loads the report and sets its datasource
.
//
// Any source code blocks look like this
Private Sub FillDataTable()
Dim strQuery As String
strQuery = "select * from [Current Product List] "
Dim sqlConn As New SqlConnection("Data Source=.;_
Initial Catalog=NorthWind;UID=sa;Password=lumensoft2003;")
Dim da As New SqlDataAdapter(strQuery, sqlConn)
Try
da.Fill(objdsReport, "dtProduct")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
Finally
sqlConn.Dispose()
da.Dispose()
End Try
End Sub
// on form load
Private Sub frmReport_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
RptViwer.Width = Me.Width
RptViwer.Height = Me.Height
Dim objDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
FillDataTable()
objDoc.Load(My.Application.Info.DirectoryPath + "\rptProduct.rpt")
objDoc.PrintOptions.ApplyPageMargins_
(New CrystalDecisions.Shared.PageMargins_
(1 * 1440, 1 * 1440, 1 * 1440, 1 * 1440))
objDoc.SetDataSource(objdsReport)
RptViwer.ReportSource = objDoc
End Sub
//
If you have any questions, please email me at mailto:altafamber@yahoo.com.
History
- 22nd February, 2008: Initial post
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.