public override void Advance() { using (m_lastInnerGroupLeafRef.PinValue()) { using (m_lastOuterGroupLeafRef.PinValue()) { RuntimeDataTablixGroupLeafObj runtimeDataTablixGroupLeafObj = m_lastInnerGroupLeafRef.Value(); RuntimeDataTablixGroupLeafObj rowGroupLeaf = m_lastOuterGroupLeafRef.Value(); OnDemandStateManager stateManager = m_odpContext.StateManager; ObjectModelImpl reportObjectModel = m_odpContext.ReportObjectModel; if (m_idcDataSet.DataSetCore.FieldsContext != null) { reportObjectModel.RestoreFields(m_idcDataSet.DataSetCore.FieldsContext); } while (SetupNextRow(m_lastOuterPrimaryKeyValues, m_activeOuterRelationship, m_lastInnerPrimaryKeyValues, m_activeInnerRelationship)) { ApplyGroupingFieldsForServerAggregates(m_cellScope); bool rowAccepted = runtimeDataTablixGroupLeafObj.GetOrCreateCell(rowGroupLeaf).NextRow(); if (stateManager.ShouldStopPipelineAdvance(rowAccepted)) { break; } } } } }
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 void RegisterActiveIntersection(RuntimeDataTablixGroupLeafObjReference innerGroupLeafRef, RuntimeDataTablixGroupLeafObjReference outerGroupLeafRef) { if (m_lastOuterGroupLeafRef != outerGroupLeafRef) { if (m_lastOuterGroupLeafRef != null) { using (m_lastOuterGroupLeafRef.PinValue()) { m_lastOuterGroupLeafRef.Value().ResetStreamingModeIdcRowBuffer(); } } m_lastOuterGroupLeafRef = outerGroupLeafRef; if (m_activeOuterRelationship != null) { m_lastOuterPrimaryKeyValues = EvaluatePrimaryKeyExpressions(m_lastOuterGroupLeafRef, m_activeOuterRelationship); } } if (m_lastInnerGroupLeafRef != innerGroupLeafRef) { m_lastInnerGroupLeafRef = innerGroupLeafRef; m_lastInnerPrimaryKeyValues = EvaluatePrimaryKeyExpressions(m_lastInnerGroupLeafRef, m_activeInnerRelationship); } }
private Microsoft.ReportingServices.RdlExpressions.VariantResult[] EvaluatePrimaryKeyExpressions(RuntimeDataTablixGroupLeafObjReference groupLeafRef, Relationship relationship) { groupLeafRef.Value().DataRows[0].RestoreDataSetAndSetFields(m_odpContext, relationship.RelatedDataSet.DataSetCore.FieldsContext); return(relationship.EvaluateJoinConditionKeys(evaluatePrimaryKeys: true, m_odpContext.ReportRuntime)); }