子报告返回零结果

时间:2013-08-01 20:21:29

标签: c# visual-studio-2010 sql-server-2008 reporting-services

我使用Visual Studio 2010和C#构建一个查询两个数据库的应用程序,然后生成一个也有子报表的报表。主报告将三个参数传递给子报表。主要报告的每个记录都显示子报告空白。因此,我将NoRowsMessage设置为“Nothing Returned”以确保子报表确实正在显示。现在,子报告不是空白,而是返回我的消息。我通过预览数据和输入参数值来测试tableadapter。结果很好。我的猜测是由于某种原因,参数没有正确传递到子报表。我已尝试将参数设置为允许空值,并允许空值。没有什么变化。我已将LocalReport.SubreportProcessing设置为新的SubreportProcessingEventHandler。我在子报表的事件处理程序中设置了数据源。我不知道我错过了什么。任何建议都会有所帮助。

以下是主表单中的代码

private void JointAgreement_Load(object sender,EventArgs e)         {             // TODO:这行代码将数据加载到'termLookup.ACADEMICCALENDAR'表中。您可以根据需要移动或删除它。             this.aCADEMICCALENDARTableAdapter1.Fill(this.termLookup.ACADEMICCALENDAR);             // TODO:这行代码将数据加载到'yearLookup.ACADEMICCALENDAR'表中。您可以根据需要移动或删除它。             this.aCADEMICCALENDARTableAdapter.Fill(this.yearLookup.ACADEMICCALENDAR);         }

    private void button1_Click(object sender, EventArgs e)
    {
        string year = comboBox1.Text;
        string term = comboBox2.Text;
        Classes.Functions.GetStudentList(year, term);
        List<ReportParameter> paramList = new List<ReportParameter>();
        paramList.Add(new ReportParameter("Year", year, false));
        paramList.Add(new ReportParameter("Term", term, false));
        reportViewer1.LocalReport.SetParameters(paramList);
        reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SetSubDataSource);
        this.joint_Agreement_InfoTableAdapter.Fill(this.jointAgreementInfo.Joint_Agreement_Info);
        this.reportViewer1.RefreshReport();
    }

    public void SetSubDataSource(object sender, SubreportProcessingEventArgs e)
    {

        e.DataSources.Add(new ReportDataSource("StudentDetail", tRANSCRIPTDETAILBindingSource));

    }

1 个答案:

答案 0 :(得分:0)

我实际上找到了自己问题的答案。我不知道出了什么问题,所以我不知道要问什么问题。我在下面的链接中找到了stackoverflow的答案。 Passing Report Parameters to SubReport in VS 2010 RDLC感谢所有试图提供帮助的人。