protected virtual bool ReadRowFromDataSet() { if (this.m_nextDataFieldRowToProcess != null) { this.m_nextDataFieldRowToProcess.SetFields(this.m_odpContext.ReportObjectModel.GetFieldsImplForUpdate(this.m_idcDataSet)); this.m_nextDataFieldRowToProcess = null; } else { if (this.m_dataSource == null) { if (this.m_odpContext.QueryRestartInfo != null) { this.SetupRelationshipQueryRestart(); } this.m_dataSource = new RuntimeIdcIncrementalDataSource(this.m_idcDataSet, this.m_odpContext); this.m_dataSource.Initialize(); } if (!this.m_dataSource.SetupNextRow()) { return(false); } } return(true); }
public int AddRow(DataFieldRow row) { int count = this.m_rows.Count; this.m_rows.Add(row); return(count); }
private AspNetCore.ReportingServices.RdlExpressions.VariantResult[] EvaluatePrimaryKeyExpressions(RuntimeDataTablixGroupLeafObjReference groupLeafRef, Relationship relationship) { RuntimeDataTablixGroupLeafObj runtimeDataTablixGroupLeafObj = groupLeafRef.Value(); DataFieldRow dataFieldRow = runtimeDataTablixGroupLeafObj.DataRows[0]; dataFieldRow.RestoreDataSetAndSetFields(base.m_odpContext, relationship.RelatedDataSet.DataSetCore.FieldsContext); return(relationship.EvaluateJoinConditionKeys(true, base.m_odpContext.ReportRuntime)); }
public static void CommonFirstRow(OnDemandProcessingContext odpContext, ref bool firstRowIsAggregate, ref DataFieldRow firstRow) { if (!firstRowIsAggregate && firstRow != null) { return; } firstRow = new DataFieldRow(odpContext.ReportObjectModel.FieldsImpl, true); firstRowIsAggregate = odpContext.ReportObjectModel.FieldsImpl.IsAggregateRow; }
public void ReadRows(DataActions action, ITraversalContext context) { for (int i = 0; i < this.m_dataRows.Count; i++) { DataFieldRow dataFieldRow = this.m_dataRows[i]; dataFieldRow.SetFields(base.m_odpContext.ReportObjectModel.FieldsImpl); this.ReadRow(action, context); } }
protected void SetupFields(DataFieldRow dataRow) { if (dataRow == null) { this.m_odpContext.ReportObjectModel.CreateNoRows(); } else { dataRow.SetFields(this.m_odpContext.ReportObjectModel.FieldsImpl); } }
private void Traverse(DataFieldRow dataRow, ProcessingStages operation, DataRowSortOwnerTraversalContext context, IHierarchyObj owner) { dataRow.SetFields(owner.OdpContext.ReportObjectModel.FieldsImpl); if (operation == ProcessingStages.UserSortFilter) { owner.ReadRow(); } else { context.SortOwner.PostDataRowSortNextRow(); } }
protected virtual void PushBackLastRow() { FieldsImpl fieldsImplForUpdate = this.m_odpContext.ReportObjectModel.GetFieldsImplForUpdate(this.m_idcDataSet); if (fieldsImplForUpdate.IsAggregateRow) { this.m_nextDataFieldRowToProcess = new AggregateRow(fieldsImplForUpdate, true); } else { this.m_nextDataFieldRowToProcess = new DataFieldRow(fieldsImplForUpdate, true); } }
protected void ScopeFinishSorting(ref DataFieldRow firstRow, RuntimeUserSortTargetInfo sortTargetInfo) { Global.Tracer.Assert(null != sortTargetInfo, "(null != sortTargetInfo)"); firstRow = null; sortTargetInfo.SortTree.Traverse(ProcessingStages.UserSortFilter, true, null); sortTargetInfo.SortTree.Dispose(); sortTargetInfo.SortTree = null; if (sortTargetInfo.AggregateRows != null) { for (int i = 0; i < sortTargetInfo.AggregateRows.Count; i++) { sortTargetInfo.AggregateRows[i].SetFields(this.m_odpContext.ReportObjectModel.FieldsImpl); this.SendToInner(); } sortTargetInfo.AggregateRows = null; } }
public void NextRow(OnDemandProcessingContext odpContext, int depth) { DataFieldRow dataFieldRow = new DataFieldRow(odpContext.ReportObjectModel.FieldsImpl, true); if (this.m_firstRow == null) { this.m_firstRow = dataFieldRow; } else { if (this.m_dataRows == null) { this.m_dataRows = new ScalableList <DataFieldRow>(depth, odpContext.TablixProcessingScalabilityCache); } this.m_dataRows.Add(dataFieldRow); } }
public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(RuntimeSortDataHolder.m_declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.FirstRow: this.m_firstRow = (DataFieldRow)reader.ReadRIFObject(); break; case MemberName.DataRows: this.m_dataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >(); break; default: Global.Tracer.Assert(false); break; } } }
protected void SetupEnvironment(List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> nonCustomAggregates, List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> customAggregates, DataFieldRow dataRow) { this.SetupAggregates(nonCustomAggregates); this.SetupAggregates(customAggregates); this.SetupFields(dataRow); this.m_odpContext.ReportRuntime.CurrentScope = this; }
public void SetupRow(int index, OnDemandProcessingContext odpContext) { DataFieldRow row = this.GetRow(index); row.SetFields(odpContext.ReportObjectModel.FieldsImpl); }
public override void Deserialize(IntermediateFormatReader reader) { base.Deserialize(reader); reader.RegisterDeclaration(RuntimeRDLDataRegionObj.m_declaration); IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache; while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.DataRegionDef: { int id2 = reader.ReadInt32(); this.m_dataRegionDef = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion)scalabilityCache.FetchStaticReference(id2); break; } case MemberName.OuterScope: this.m_outerScope = (IReference <IScope>)reader.ReadRIFObject(); break; case MemberName.FirstRow: this.m_firstRow = (DataFieldRow)reader.ReadRIFObject(); break; case MemberName.FirstRowIsAggregate: this.m_firstRowIsAggregate = reader.ReadBoolean(); break; case MemberName.Filters: { int id = reader.ReadInt32(); this.m_filters = (Filters)scalabilityCache.FetchStaticReference(id); break; } case MemberName.NonCustomAggregates: this.m_nonCustomAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >(); break; case MemberName.CustomAggregates: this.m_customAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >(); break; case MemberName.DataAction: this.m_dataAction = (DataActions)reader.ReadEnum(); break; case MemberName.OuterDataAction: this.m_outerDataAction = (DataActions)reader.ReadEnum(); break; case MemberName.RunningValues: this.m_runningValues = reader.ReadListOfPrimitives <string>(); break; case MemberName.PreviousValues: this.m_previousValues = reader.ReadListOfPrimitives <string>(); break; case MemberName.RunningValueValues: this.m_runningValueValues = reader.ReadArrayOfRIFObjects <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult>(); break; case MemberName.RunningValueOfAggregateValues: this.m_runningValueOfAggregateValues = reader.ReadArrayOfRIFObjects <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult>(); break; case MemberName.PostSortAggregates: this.m_postSortAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >(); break; case MemberName.DataRows: this.m_dataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >(); break; case MemberName.InnerDataAction: this.m_innerDataAction = (DataActions)reader.ReadEnum(); break; case MemberName.UserSortTargetInfo: this.m_userSortTargetInfo = (RuntimeUserSortTargetInfo)reader.ReadRIFObject(); break; case MemberName.SortFilterExpressionScopeInfoIndices: this.m_sortFilterExpressionScopeInfoIndices = reader.ReadInt32Array(); break; case MemberName.InDataRowSortPhase: this.m_inDataRowSortPhase = reader.ReadBoolean(); break; case MemberName.SortedDataRowTree: this.m_sortedDataRowTree = (BTree)reader.ReadRIFObject(); break; case MemberName.DataRowSortExpression: this.m_dataRowSortExpression = (RuntimeExpressionInfo)reader.ReadRIFObject(); break; case MemberName.AggregatesOfAggregates: this.m_aggregatesOfAggregates = (BucketedDataAggregateObjs)reader.ReadRIFObject(); break; case MemberName.PostSortAggregatesOfAggregates: this.m_postSortAggregatesOfAggregates = (BucketedDataAggregateObjs)reader.ReadRIFObject(); break; case MemberName.HasProcessedAggregateRow: this.m_hasProcessedAggregateRow = reader.ReadBoolean(); break; default: Global.Tracer.Assert(false); break; } } }