technical notes

Tháng Chín 18, 2007

Customize Crystal Report data

Chuyên mục: Crystal Report — ngduy @ 7:11 sáng

1. Set database logon info:
There is 2 ways to set database logon info.
1. Using SetDatabaseLogon

rpt.SetDatabaseLogon(username, password, server, database)

However, sometime using SetDatabaseLogon won’t effect. At that time, uses TableLogOnInfo to apply logon info for each table in report source.

Dim t As New TableLogOnInfo
t.ConnectionInfo.UserID = AppSettingsInfo.GetDBUserSettings
t.ConnectionInfo.Password = AppSettingsInfo.GetDBPasswordSettings
t.ConnectionInfo.ServerName = AppSettingsInfo.GetDBHostSettings
rpt.Database.Tables(0).ApplyLogOnInfo(t)

2. Set record selection formula:

strWhere = "{ReportQuery.Column1} = " + strColumn1Condtion
strWhere = "{ReportQuery.Column2} = " & strColumn2Condtion
rpt.RecordSelectionFormula = strWhere

3. Set sort data:

rpt.DataDefinition.SortFields(0).Field = rpt.Database.Tables(0).Fields("Column1")
rpt.DataDefinition.SortFields(0).SortDirection = SortDirection.AscendingOrder

Pass Discrete Value in CR

Chuyên mục: Crystal Report — ngduy @ 4:59 sáng

Pass value for discrete parameter of crystal report in Visual Studio 2005.

DataTable dat;
CampaignListTableAdapter objAdpt = new CampaignListTableAdapter();
dat = objAdpt.GetCampaignList();
string strServerPath = Server.MapPath(".");
string strFullPath = Path.Combine(strServerPath, "RecentlySubmmited.rpt");

ReportDocument objReport = new ReportDocument();
objReport.Load(strFullPath);
objReport.SetDataSource(dat);

//Pass Discrete Value
ParameterDiscreteValue crValue = new ParameterDiscreteValue();
crValue.Value = "Recently Submitted";
ParameterFields objFields = objReport.ParameterFields;
objFields["Title"].CurrentValues.Add(crValue);

//Export to HTTP stream
objReport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "RecentlySubmitted");

Blog at WordPress.com.