我有一个数组,我使用Lamda表达式进行过滤,并使用它来填充第一个表格 Form1
上的第一个datagridView datagridView 1
,然后将其值传递给第二个表格 Form2
上的第二个DatagridView datagridView2
.
当我在Crystal报表中加载 DatagridView2
值时,字段以相反的顺序显示,其中一些字段丢失,如下图所示 . Missing fields in CR
这些字段由连接表提供 .
水晶报告页面设置:大小= A3(42厘米X 29,67厘米),方向=横向 . 当我更改页面设置时,字段仍然缺失 . 我在Visual Studio 2010和水晶报告2008中使用水晶报告 .
此CR加载代码:
try
{
ReportDocument report = new ReportDocument();
ConnectionInfo myConnectionInfo = new ConnectionInfo();
string str = ConfigurationManager.ConnectionStrings["GUISuiviMmk.Properties.Settings.Setting"].ConnectionString;
string dir = GUISuiviMmk.Properties.Settings.Default["dirReportFiles"].ToString();
string aServeur = str.Substring(str.IndexOf("=") + 1, str.IndexOf(";") - str.IndexOf("=") - 1);
str = str.Substring(str.IndexOf(";") + 1);
dt = (DataTable)dtgEtat.DataSource;
string aBaseDonnée = str.Substring(str.IndexOf("=") + 1, str.IndexOf(";") - str.IndexOf("=") - 1);
str = str.Substring(str.IndexOf(";") + 1);
string aSecurity = str.Substring(str.IndexOf("=") + 1, str.IndexOf(";") - str.IndexOf("=") - 1);
str = str.Substring(str.IndexOf(";") + 1);
string aUser = str.Substring(str.IndexOf("=") + 1, str.IndexOf(";") - str.IndexOf("=") - 1);
str = str.Substring(str.IndexOf(";") + 1);
string aPassword = str.Substring(str.IndexOf("=") + 1 );
str = ConfigurationManager.ConnectionStrings["GUISuiviMmk.Properties.Settings.Setting"].ConnectionString;
myConnectionInfo.ServerName = aServeur;
myConnectionInfo.DatabaseName = aBaseDonnée;
myConnectionInfo.UserID = aUser;
myConnectionInfo.Password = aPassword;
String Path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
Path = System.IO.Path.Combine(dir, DocRpt);
report.Load(Path);
report.SetDatabaseLogon(aUser, aPassword, aServeur, aBaseDonnée);
report.SetDataSource(dt);
crViewerEtats.ReportSource = null;
crViewerEtats.ReportSource = report;
crViewerEtats.RefreshReport();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
错误在哪里?