65.9K
CodeProject is changing. Read more.
Home

Setting Crystal Report Margin at Runtime

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (5 votes)

Feb 22, 2008

CDDL
viewsIcon

42820

downloadIcon

779

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