Пример #1
0
        override internal void Run(IPresent ip, Row row)
        {
            Report r = ip.Report();

            base.Run(ip, row);

            // need to save the owner report and nest in this defintion
            ReportDefn   saveReport = r.ReportDefinition;
            NeedPassword np         = r.GetDataSourceReferencePassword; // get current password

            r.SetReportDefinition(_ReportDefn);
            r.Folder = _ReportDefn.ParseFolder;                         // folder needs to get set since the id of the report is used by the cache
            r.GetDataSourceReferencePassword = np;

            DataSourcesDefn saveDS = r.ParentConnections;

            if (this.MergeTransactions)
            {
                r.ParentConnections = saveReport.DataSourcesDefn;
            }
            else
            {
                r.ParentConnections = null;
            }

            r.SubreportDataRetrievalTriggerEvent();

            if (_Parameters == null)
            {                   // When no parameters we only retrieve data once
                if (r.Cache.Get(this, "report") == null)
                {
                    r.RunGetData(null);
                    if (!r.IsSubreportDataRetrievalDefined)     // if use has defined subreportdataretrieval they might
                    {
                        r.Cache.Add(this, "report", this);      //    set the data; so we don't cache
                    }
                }
            }
            else
            {
                SetSubreportParameters(r, row);
                r.RunGetData(null);
            }

            ip.Subreport(this, row);

            r.SetReportDefinition(saveReport);                                  // restore the current report
            r.ParentConnections = saveDS;                                       // restore the data connnections
        }
Пример #2
0
        override internal void Run(IPresent ip, Row row)
        {
            Report r = ip.Report();

            base.Run(ip, row);

            // need to save the owner report and nest in this defintion
            ReportDefn saveReport = r.ReportDefinition;

            r.SetReportDefinition(_ReportDefn);
            r.Folder = _ReportDefn.ParseFolder;                         // folder needs to get set since the id of the report is used by the cache
            DataSourcesDefn saveDS = r.ParentConnections;

            if (this.MergeTransactions)
            {
                r.ParentConnections = saveReport.DataSourcesDefn;
            }
            else
            {
                r.ParentConnections = null;
            }

            if (_Parameters == null)
            {                   // When no parameters we only retrieve data once
                if (r.Cache.Get(this, "report") == null)
                {
                    r.RunGetData(null);
                    r.Cache.Add(this, "report", this);
                }
            }
            else
            {
                SetSubreportParameters(r, row);
                r.RunGetData(null);
            }

            ip.Subreport(this, row);

            r.SetReportDefinition(saveReport);                                  // restore the current report
            r.ParentConnections = saveDS;                                       // restore the data connnections
        }
Пример #3
0
		override public void Run(IPresent ip, Row row)
		{
			Report r = ip.Report();
			base.Run(ip, row);

			// need to save the owner report and nest in this defintion
			ReportDefn saveReport = r.ReportDefinition;
            NeedPassword np = r.GetDataSourceReferencePassword;   // get current password
            r.SetReportDefinition(_ReportDefn);
			r.Folder = _ReportDefn.ParseFolder;		// folder needs to get set since the id of the report is used by the cache
            r.GetDataSourceReferencePassword = np;
		
            DataSourcesDefn saveDS = r.ParentConnections;
			if (this.MergeTransactions)
				r.ParentConnections = saveReport.DataSourcesDefn;
			else
				r.ParentConnections = null;

            r.SubreportDataRetrievalTriggerEvent();

			if (_Parameters == null)
			{	// When no parameters we only retrieve data once
				if (r.Cache.Get(this, "report") == null)
				{
					r.RunGetData(null);
                    if (!r.IsSubreportDataRetrievalDefined)       // if use has defined subreportdataretrieval they might
                        r.Cache.Add(this, "report", this);      //    set the data; so we don't cache
				}
			}
			else
			{
				SetSubreportParameters(r, row);
				r.RunGetData(null);
			}

			ip.Subreport(this, row);

			r.SetReportDefinition(saveReport);			// restore the current report
			r.ParentConnections = saveDS;				// restore the data connnections
		}
Пример #4
0
		override internal void Run(IPresent ip, Row row)
		{
			Report r = ip.Report();
			base.Run(ip, row);

			// need to save the owner report and nest in this defintion
			ReportDefn saveReport = r.ReportDefinition;
			r.SetReportDefinition(_ReportDefn);
			r.Folder = _ReportDefn.ParseFolder;		// folder needs to get set since the id of the report is used by the cache
			DataSourcesDefn saveDS = r.ParentConnections;
			if (this.MergeTransactions)
				r.ParentConnections = saveReport.DataSourcesDefn;
			else
				r.ParentConnections = null;

			if (_Parameters == null)
			{	// When no parameters we only retrieve data once
				if (r.Cache.Get(this, "report") == null)
				{
					r.RunGetData(null);
					r.Cache.Add(this, "report", this);
				}
			}
			else
			{
				SetSubreportParameters(r, row);
				r.RunGetData(null);
			}

			ip.Subreport(this, row);

			r.SetReportDefinition(saveReport);			// restore the current report
			r.ParentConnections = saveDS;				// restore the data connnections
		}