水晶报告上显示重复数据

时间:2015-03-04 23:06:13

标签: c# winforms crystal-reports

我有这样的代码来显示datagridview(要检查)和水晶报告

上的数据
private void PrintReportForm_Load(object sender, EventArgs e)
{
      // Getting result from SQL server database using LINQ to SQL
      var result = AccessorReports.GetVoucherDetailByVoucherNo(VoucherNo);

      // Displaying result on data grid view
       dataGridView1.DataSource = result;

       // Displaying result on crystal report
       VoucherRpt cr = new VoucherRpt();
       cr.Load("VoucherRpt.rpt");
       cr.SetDataSource(result);
       crystalReportViewer1.ReportSource = cr;
}

问题是我在水晶报告上获得重复输入,而数据网格视图显示单个输入。为什么? (附上截图)For each entry in data grid view there is duplicate entry on crystal report

对于数据网格视图中的每个条目,水晶报告上都有重复的条目。 提前感谢您的帮助:)

表格链接的截图

enter image description here

1 个答案:

答案 0 :(得分:0)

检查水晶报告文档中的链接。如果有没有正确链接的表,那么它可以显示这样的重复记录。例如,如果您有另一个有3条记录的表,那么每条记录将显示3次。如果报表中没有使用任何表,则将其从数据库资源管理器中删除。

您正在使用Disconnected DataSource方法显示报告。

cr.SetDataSource(result);

此方法仅显示您在数据源中指定的数据。报告不会检查sql server中的数据。因此,请确保已分配在数据库资源管理器中选择的所有表数据。例如,如果您在报表中选择了3个表,则数据集应包含3个表。

//ds.Tables[0] : "table1"
//ds.Tables[1] : "table2"
//ds.Tables[2] : "table3"

cr.SetDataSource(ds);
相关问题