I have an application developed in C# VS.NET that 'should' display a Crystal Report Form. However, when I pass my Stored Procedures parameters and set ReportSource, a blank form comes up and does not display any part of my report. Can anyone look at this and see what I am doing wrong? Thank you so much for your help.
DISPLAYPROFILE.CS:
private void DisplayReport()
{
try
{
display_profile.CrystalReportViewer1 crViewer1 = new CrystalReportViewer1(sqlTools);
crViewer1.Show();
}
catch (Exception ex)
{
statusBar1.Text = "Error: " + ex.Message.ToString();
}
}
CrystalReportViewer1:
using System;
using System.Drawing;
using System.Data.SqlClient;
using System.Collections;
using System.Data;
using System.ComponentModel;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Windows.Forms;
using ConfigurationXml;
using common;
namespace display_profile
{
/// <summary>
/// Summary description for CrystalReportViewer1.
/// </summary>
public class CrystalReportViewer1 : System.Windows.Forms.Form
{
private SqlTools sqlTools;
private bool isLoggedOn = false;
private ReportDocument crDocument = new ReportDocument();
private Database crDatabase;
private Tables crTables;
private Table crTable;
private TableLogOnInfo crTableLogOnInfo = new TableLogOnInfo();
private ConnectionInfo crConnectionInfo;
private ParameterFieldDefinitions crPDefinitions;
private ParameterFieldDefinition crPDefinition;
private ParameterValues crPValues;
protected SqlCommand cmdGateProfile;
protected ParameterField crPField = new ParameterField();
protected ParameterFields crPFields = new ParameterFields();
protected ParameterDiscreteValue crPDValue = new ParameterDiscreteValue();
private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer2;
private display_profile.OA_Profiles oA_Profiles1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public CrystalReportViewer1(SqlTools sqlTools_in)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
sqlTools = sqlTools_in;
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(CrystalReportViewer1));
this.crystalReportViewer2 = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
this.oA_Profiles1 = new display_profile.OA_Profiles();
this.SuspendLayout();
//
// crystalReportViewer2
this.crystalReportViewer2.ActiveViewIndex = -1;
this.crystalReportViewer2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.crystalReportViewer2.AutoScroll = true;
this.crystalReportViewer2.DisplayGroupTree = false;
this.crystalReportViewer2.Location = new System.Drawing.Point(0, 0);
this.crystalReportViewer2.Name = "crystalReportViewer2";
this.crystalReportViewer2.ReportSource = "C:\\Documents and Settings\\All Users\\Application Data\\DAL\\OA Profiles\\OA_Profiles." +
"rpt";
this.crystalReportViewer2.ShowGroupTreeButton = false;
this.crystalReportViewer2.ShowRefreshButton = false;
this.crystalReportViewer2.Size = new System.Drawing.Size(800, 882);
this.crystalReportViewer2.TabIndex = 0;
this.crystalReportViewer2.Load += new System.EventHandler(this.crystalReportViewer2_Load);
//
// oA_Profiles1
//
this.oA_Profiles1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation;
this.oA_Profiles1.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize;
this.oA_Profiles1.PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Upper;
this.oA_Profiles1.PrintOptions.PrinterDuplex = CrystalDecisions.Shared.PrinterDuplex.Default;
//
// CrystalReportViewer1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(800, 882);
this.Controls.Add(this.crystalReportViewer2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "CrystalReportViewer1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "OA Display Profiles";
this.Load += new System.EventHandler(this.crystalReportViewer2_Load);
this.ResumeLayout(false);
}
#endregion
private void crystalReportViewer2_Load(object sender, System.EventArgs e)
{
if (!isLoggedOn)
{
SetReportParameters();
}
}
/// <summary>
/// Set the parameters for the report
/// </summary>
protected void SetReportParameters()
{
int idx;
string str = null;
DateTime dt = new DateTime();
DateTimePicker dtP = new DateTimePicker();
try
{
crDocument.Load(crystalReportViewer2.ReportSource.ToString());
crConnectionInfo = sqlTools.GetCrConnectionInfo();
crConnectionInfo.ServerName = "SATLRCCDLDB15";
crConnectionInfo.DatabaseName = "oadb";
crConnectionInfo.UserID = "oauser";
crConnectionInfo.Password = "elmwood";
crDocument.SetDatabaseLogon(crConnectionInfo.UserID, crConnectionInfo.Password, crConnectionInfo.ServerName, crConnectionInfo.DatabaseName);
crTableLogOnInfo.TableName = "gate_profile;1";
crTableLogOnInfo.ConnectionInfo.ServerName = "SATLRCCDLDB15";
crTableLogOnInfo.ConnectionInfo.DatabaseName = "oadb";
crTableLogOnInfo.ConnectionInfo.UserID = "oauser";
crTableLogOnInfo.ConnectionInfo.Password = "elmwood";
crDatabase = crDocument.Database;
crTables = crDatabase.Tables;
// loop through all the tables and apply the connection into to each table...
for (int i = 0; i < crTables.Count; i++)
{
crTable = crTables;
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
}
isLoggedOn = true; // I log on 1 time
str = DisplayProfile.myDoW.Remove(0, 2);
idx = Convert.ToInt32(DisplayProfile.myDoW.Remove(1, DisplayProfile.myDoW.Length - 1));
/// <summary>
/// Get the collection of parameters from the report...
/// Access the specified parameter from the collection...
/// Get the values from the parameter field. There are zero values set.
/// Clear existing parameter values...
/// Set the current values for the numeric parameter field
/// Add the current value for the parameter field
/// The current parameter values must be applied for the parameter field.
/// Move to the next parameter field ...
/// </summary>
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@start_date"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = DisplayProfile.startDate.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@end_date"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.endDate.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crDocument.SetParameterValue("WeekDay", str);
if (DisplayProfile.myTZ == "LCL")
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@timezone"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.myTZ;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
else
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@timezone"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.myTZ;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (idx > -1)
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@for_weekday"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = idx;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.bAdjLog)
{
crDocument.SetParameterValue("AdjCode_Text", "Adjustment Log: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@adj_code"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
DisplayProfile.bAdjLog = false;
}
if (ExcludeDates.xldArrList.Count > 0)
{
int i = 0;
crPValues.Clear();
if (ExcludeDates.xldArrList.Count == 1)
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Date: ");
else
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Dates: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (i = 0; i < ExcludeDates.xldArrList.Count; i++)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
dt = Convert.ToDateTime(ExcludeDates.xldArrList);
crPDValue.Value = dt.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
}
while (i < 10)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
i++;
}
crPDefinition.ApplyCurrentValues(crPValues);
}
else //null if no Exclude Dates entered...
{
int i = 0;
crPValues.Clear();
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Date: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
while (i < 10)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
i++;
}
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.SelectedCities.Count > 0)
{
int count = 1;
crPValues.Clear();
crPDValue.Value = null;
if (DisplayProfile.SelectedCities.Count == 1)
crDocument.SetParameterValue("Cities_Text", "City: ");
else
crDocument.SetParameterValue("Cities_Text", "Cities: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (int i = 0; i < DisplayProfile.SelectedCities.Count; i++)
{
string cty = DisplayProfile.SelectedCities.ToString();
cty = cty.Trim();
crPDefinition = crPDefinitions["@sites"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value += cty;
if (DisplayProfile.SelectedCities.Count > count)
{
crPDValue.Value += ",";
count++;
}
}
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
else
{
crPDefinition = crPDefinitions["@sites"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.SelectedGates.Count > 0)
{
int count = 1;
crPValues.Clear();
crPDValue.Value = null;
if (DisplayProfile.SelectedGates.Count == 1)
crDocument.SetParameterValue("Gates_Text", "Gate: ");
else
crDocument.SetParameterValue("Gates_Text", "Gates: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (int i = 0; i < DisplayProfile.SelectedGates.Count; i++)
{
if (DisplayProfile.SelectedGates.Capacity < 255)
crPDefinition = crPDefinitions["@gates1"];
else
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value += DisplayProfile.SelectedGates.ToString();
if (DisplayProfile.SelectedGates.Count > count)
{
crPDValue.Value += ",";
count++;
}
}
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
if (DisplayProfile.SelectedGates.Capacity < 255) // notthing for gates2
{
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
}
else /// set values to null...
{
crPDefinition = crPDefinitions["@gates1"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
crystalReportViewer2.ReportSource = crDocument;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sqlTools.DisposeSqlConnection();
}
}
}
}
DISPLAYPROFILE.CS:
private void DisplayReport()
{
try
{
display_profile.CrystalReportViewer1 crViewer1 = new CrystalReportViewer1(sqlTools);
crViewer1.Show();
}
catch (Exception ex)
{
statusBar1.Text = "Error: " + ex.Message.ToString();
}
}
CrystalReportViewer1:
using System;
using System.Drawing;
using System.Data.SqlClient;
using System.Collections;
using System.Data;
using System.ComponentModel;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Windows.Forms;
using ConfigurationXml;
using common;
namespace display_profile
{
/// <summary>
/// Summary description for CrystalReportViewer1.
/// </summary>
public class CrystalReportViewer1 : System.Windows.Forms.Form
{
private SqlTools sqlTools;
private bool isLoggedOn = false;
private ReportDocument crDocument = new ReportDocument();
private Database crDatabase;
private Tables crTables;
private Table crTable;
private TableLogOnInfo crTableLogOnInfo = new TableLogOnInfo();
private ConnectionInfo crConnectionInfo;
private ParameterFieldDefinitions crPDefinitions;
private ParameterFieldDefinition crPDefinition;
private ParameterValues crPValues;
protected SqlCommand cmdGateProfile;
protected ParameterField crPField = new ParameterField();
protected ParameterFields crPFields = new ParameterFields();
protected ParameterDiscreteValue crPDValue = new ParameterDiscreteValue();
private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer2;
private display_profile.OA_Profiles oA_Profiles1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public CrystalReportViewer1(SqlTools sqlTools_in)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
sqlTools = sqlTools_in;
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(CrystalReportViewer1));
this.crystalReportViewer2 = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
this.oA_Profiles1 = new display_profile.OA_Profiles();
this.SuspendLayout();
//
// crystalReportViewer2
this.crystalReportViewer2.ActiveViewIndex = -1;
this.crystalReportViewer2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.crystalReportViewer2.AutoScroll = true;
this.crystalReportViewer2.DisplayGroupTree = false;
this.crystalReportViewer2.Location = new System.Drawing.Point(0, 0);
this.crystalReportViewer2.Name = "crystalReportViewer2";
this.crystalReportViewer2.ReportSource = "C:\\Documents and Settings\\All Users\\Application Data\\DAL\\OA Profiles\\OA_Profiles." +
"rpt";
this.crystalReportViewer2.ShowGroupTreeButton = false;
this.crystalReportViewer2.ShowRefreshButton = false;
this.crystalReportViewer2.Size = new System.Drawing.Size(800, 882);
this.crystalReportViewer2.TabIndex = 0;
this.crystalReportViewer2.Load += new System.EventHandler(this.crystalReportViewer2_Load);
//
// oA_Profiles1
//
this.oA_Profiles1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation;
this.oA_Profiles1.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize;
this.oA_Profiles1.PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Upper;
this.oA_Profiles1.PrintOptions.PrinterDuplex = CrystalDecisions.Shared.PrinterDuplex.Default;
//
// CrystalReportViewer1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(800, 882);
this.Controls.Add(this.crystalReportViewer2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "CrystalReportViewer1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "OA Display Profiles";
this.Load += new System.EventHandler(this.crystalReportViewer2_Load);
this.ResumeLayout(false);
}
#endregion
private void crystalReportViewer2_Load(object sender, System.EventArgs e)
{
if (!isLoggedOn)
{
SetReportParameters();
}
}
/// <summary>
/// Set the parameters for the report
/// </summary>
protected void SetReportParameters()
{
int idx;
string str = null;
DateTime dt = new DateTime();
DateTimePicker dtP = new DateTimePicker();
try
{
crDocument.Load(crystalReportViewer2.ReportSource.ToString());
crConnectionInfo = sqlTools.GetCrConnectionInfo();
crConnectionInfo.ServerName = "SATLRCCDLDB15";
crConnectionInfo.DatabaseName = "oadb";
crConnectionInfo.UserID = "oauser";
crConnectionInfo.Password = "elmwood";
crDocument.SetDatabaseLogon(crConnectionInfo.UserID, crConnectionInfo.Password, crConnectionInfo.ServerName, crConnectionInfo.DatabaseName);
crTableLogOnInfo.TableName = "gate_profile;1";
crTableLogOnInfo.ConnectionInfo.ServerName = "SATLRCCDLDB15";
crTableLogOnInfo.ConnectionInfo.DatabaseName = "oadb";
crTableLogOnInfo.ConnectionInfo.UserID = "oauser";
crTableLogOnInfo.ConnectionInfo.Password = "elmwood";
crDatabase = crDocument.Database;
crTables = crDatabase.Tables;
// loop through all the tables and apply the connection into to each table...
for (int i = 0; i < crTables.Count; i++)
{
crTable = crTables;
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
}
isLoggedOn = true; // I log on 1 time
str = DisplayProfile.myDoW.Remove(0, 2);
idx = Convert.ToInt32(DisplayProfile.myDoW.Remove(1, DisplayProfile.myDoW.Length - 1));
/// <summary>
/// Get the collection of parameters from the report...
/// Access the specified parameter from the collection...
/// Get the values from the parameter field. There are zero values set.
/// Clear existing parameter values...
/// Set the current values for the numeric parameter field
/// Add the current value for the parameter field
/// The current parameter values must be applied for the parameter field.
/// Move to the next parameter field ...
/// </summary>
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@start_date"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = DisplayProfile.startDate.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@end_date"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.endDate.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crDocument.SetParameterValue("WeekDay", str);
if (DisplayProfile.myTZ == "LCL")
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@timezone"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.myTZ;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
else
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@timezone"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = DisplayProfile.myTZ;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (idx > -1)
{
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@for_weekday"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPDValue.Value = idx;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.bAdjLog)
{
crDocument.SetParameterValue("AdjCode_Text", "Adjustment Log: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
crPDefinition = crPDefinitions["@adj_code"];
crPValues = crPDefinition.CurrentValues;
crPValues.Clear();
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
DisplayProfile.bAdjLog = false;
}
if (ExcludeDates.xldArrList.Count > 0)
{
int i = 0;
crPValues.Clear();
if (ExcludeDates.xldArrList.Count == 1)
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Date: ");
else
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Dates: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (i = 0; i < ExcludeDates.xldArrList.Count; i++)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
dt = Convert.ToDateTime(ExcludeDates.xldArrList);
crPDValue.Value = dt.ToString("MM/dd/yyyy");
crPValues.Add(crPDValue);
}
while (i < 10)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
i++;
}
crPDefinition.ApplyCurrentValues(crPValues);
}
else //null if no Exclude Dates entered...
{
int i = 0;
crPValues.Clear();
crDocument.SetParameterValue("ExcludeDates_Text", "Exclude Date: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
while (i < 10)
{
crPDefinition = crPDefinitions["@exclude_date" + (i + 1).ToString()];
crPDefinition.CurrentValues.Clear();
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
i++;
}
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.SelectedCities.Count > 0)
{
int count = 1;
crPValues.Clear();
crPDValue.Value = null;
if (DisplayProfile.SelectedCities.Count == 1)
crDocument.SetParameterValue("Cities_Text", "City: ");
else
crDocument.SetParameterValue("Cities_Text", "Cities: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (int i = 0; i < DisplayProfile.SelectedCities.Count; i++)
{
string cty = DisplayProfile.SelectedCities.ToString();
cty = cty.Trim();
crPDefinition = crPDefinitions["@sites"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value += cty;
if (DisplayProfile.SelectedCities.Count > count)
{
crPDValue.Value += ",";
count++;
}
}
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
else
{
crPDefinition = crPDefinitions["@sites"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
if (DisplayProfile.SelectedGates.Count > 0)
{
int count = 1;
crPValues.Clear();
crPDValue.Value = null;
if (DisplayProfile.SelectedGates.Count == 1)
crDocument.SetParameterValue("Gates_Text", "Gate: ");
else
crDocument.SetParameterValue("Gates_Text", "Gates: ");
crPDefinitions = crDocument.DataDefinition.ParameterFields;
for (int i = 0; i < DisplayProfile.SelectedGates.Count; i++)
{
if (DisplayProfile.SelectedGates.Capacity < 255)
crPDefinition = crPDefinitions["@gates1"];
else
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value += DisplayProfile.SelectedGates.ToString();
if (DisplayProfile.SelectedGates.Count > count)
{
crPDValue.Value += ",";
count++;
}
}
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
if (DisplayProfile.SelectedGates.Capacity < 255) // notthing for gates2
{
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
}
else /// set values to null...
{
crPDefinition = crPDefinitions["@gates1"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
crPDefinition = crPDefinitions["@gates2"];
crPValues = crPDefinition.CurrentValues;
crPDValue.Value = null;
crPValues.Add(crPDValue);
crPDefinition.ApplyCurrentValues(crPValues);
}
crystalReportViewer2.ReportSource = crDocument;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sqlTools.DisposeSqlConnection();
}
}
}
}