override internal void FinalPass() { if (_Query != null) // query must be resolved before fields { _Query.FinalPass(); } if (_Fields != null) { _Fields.FinalPass(); } if (_Filters != null) { _Filters.FinalPass(); } return; }
// Handle parsing of function in final pass override internal void FinalPass() { base.FinalPass(); if (this is Table) { // Grids don't have any data responsibilities Table t = this as Table; if (t.IsGrid) { return; } } // DataRegions aren't allowed in PageHeader or PageFooter; if (this.InPageHeaderOrFooter()) { OwnerReport.rl.LogError(8, String.Format("The DataRegion '{0}' is not allowed in a PageHeader or PageFooter", this.Name == null? "unknown": Name.Nm)); } ResolveNestedDataRegions(); if (_ParentDataRegion != null) // when nested we use the dataset of the parent { _DataSetDefn = _ParentDataRegion.DataSetDefn; } else if (_DataSetName != null) { if (OwnerReport.DataSetsDefn != null) { _DataSetDefn = (DataSetDefn)OwnerReport.DataSetsDefn.Items[_DataSetName]; } if (_DataSetDefn == null) { OwnerReport.rl.LogError(8, String.Format("DataSetName '{0}' not specified in DataSets list.", _DataSetName)); } } else { // No name but maybe we can default to a single Dataset if (_DataSetDefn == null && OwnerReport.DataSetsDefn != null && OwnerReport.DataSetsDefn.Items.Count == 1) { foreach (DataSetDefn d in OwnerReport.DataSetsDefn.Items.Values) { _DataSetDefn = d; break; // since there is only 1 this will obtain it } } if (_DataSetDefn == null) { OwnerReport.rl.LogError(8, string.Format("{0} must specify a DataSetName.", this.Name == null? "DataRegions": this.Name.Nm)); } } if (_NoRows != null) { _NoRows.FinalPass(); } if (_Filters != null) { _Filters.FinalPass(); } return; }