Print Page | Close Window

problem filtering two subreports

Printed From: Crystal Reports Book
Category: Crystal Reports for Visual Studio 2005 and Newer
Forum Name: Writing Code
Forum Discription: .NET programming API, report integration
URL: http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=3068
Printed Date: 01 May 2024 at 5:16am


Topic: problem filtering two subreports
Posted By: pedroponting
Subject: problem filtering two subreports
Date Posted: 29 Apr 2008 at 4:14pm
(Apologies for cross-posting! I put it in the wrong forum by mistake to start with.)
This seems like madness to me, but here you are:

I have two subreports embedded in my main report. I filter the DataSet for a date range prior to viewing the report. The problem is that when I display the subreports, only one of them (the one I apply the filter to last) actually gets filtered. The other shows results for all dates.

Here's the code I'm using:

        private void crystalReportViewer1_Load(object sender, EventArgs e)
        {
           
            MainForm = (frmWorkReport)this.Owner;
            this.tasksTableAdapter.Fill(this.workreportDataSet.Tasks);
            this.staffTableAdapter.Fill(this.workreportDataSet.Staff);
            this.prioritiesTableAdapter.Fill(this.workreportDataSet.Priorities);
            this.projectsTableAdapter.Fill(this.workreportDataSet.Projects);
            this.KRAsTableAdapter.Fill(this.workreportDataSet.KRAs);
            tasksReport1.SetDataSource(workreportDataSet);
            FilterData();
        }
        private void FilterData()
        {
            string filter;
            filter = <snip>; //removed for simplicity's sake. The filter expression works fine

            tasksReport1.DataDefinition.RecordSelectionFormula = filter;

            ReportDocument srProj = tasksReport1.OpenSubreport("rptProjects");
            srProj.DataDefinition.RecordSelectionFormula = filter;

            ReportDocument srKRAs = tasksReport1.OpenSubreport("rptKRAs");
            srKRAs.DataDefinition.RecordSelectionFormula = filter;

        }

If I reverse the order of the filter assignments, then the  result is reversed. It is always the second subreport assigned a filter that gets successfully filtered. I can't filter both subreports at the same time!

I've got Brian's book since yesterday and searched it for any reference to this, but so far haven't found a solution. Help anyone?



-------------
------------
laziness is the father of invention



Print Page | Close Window