C# 如何为主明细表设置crystal报表中子报表的数据源
我有这两个表,我想生成一个crystal报告,其中我有一个子报告,列出了按商店列出的所有订单。但我在设置子报表的数据源时遇到问题C# 如何为主明细表设置crystal报表中子报表的数据源,c#,crystal-reports,subreport,C#,Crystal Reports,Subreport,我有这两个表,我想生成一个crystal报告,其中我有一个子报告,列出了按商店列出的所有订单。但我在设置子报表的数据源时遇到问题 ReportsDataSetTableAdapters.StoreTableAdapter adp = new ReportsDataSetTableAdapters.StoreTableAdapter(); MainOrderReport report = new MainOrderReport(); ReportsDataSetTableAdapters.Orde
ReportsDataSetTableAdapters.StoreTableAdapter adp = new ReportsDataSetTableAdapters.StoreTableAdapter();
MainOrderReport report = new MainOrderReport();
ReportsDataSetTableAdapters.OrderTableAdapter del = new ReportsDataSetTableAdapters.OrderTableAdapter();
report.Subreports[0].SetDataSource(del.GetData().DefaultView);
report.SetDataSource(adp.GetData().DefaultView);
crystalReportViewer.ReportSource = report;
crystalReportViewer.Refresh();
但此代码引发此异常:
未能启用约束。一个或多个行包含违反非空、唯一或外键约束的值。
请帮助我,我这里缺少什么。请先尝试清除连接:
report.Subreports[0].DataSourceConnections.Clear();
report.Subreports[0].SetDataSource(adp.GetData().DefaultView);
crystalReportViewer1.ReportSource = report;
crystalReportViewer1.Refresh();
根据给定的数据集映像,OrderDataTable是StoreDataTable的子级。在代码中,首先填充孩子,然后填充家长。在数据集中,您定义了两个表之间的约束
可能这就是您出现此错误的原因。尝试先填充父表,然后填充子表。我仍然遇到此异常,无法启用约束。一个或多个行包含违反非空、唯一或外键的值constraints@DesireOkidoke,然后按照这篇文章上的答案进一步调查你的错误。。。