Setting Crystal Report Margin at Runtime





4.00/5 (5 votes)
This article discusses how you can create a dynamic Crystal Report and set its Margin at runtime.
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")
' as 1 inch equal to 1440 tups
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