internal void UpdateFieldValues(ObjectModelImpl reportOM, bool useDataSetFieldsCache, long firstRowOffsetInScope) { if (m_dataReader.ReadOneRowAtPosition(firstRowOffsetInScope) || m_allFieldsCleared) { UpdateFieldValues(reportOM, useDataSetFieldsCache, reuseFieldObjects: true, m_dataReader.RecordRow, m_dataSetInstance, m_dataReader.ReaderExtensionsSupported); } }
internal void SetupEnvironment(OnDemandProcessingContext odpContext, bool newDataSetDefinition) { if (newDataSetDefinition) { odpContext.SetupFieldsForNewDataSet(m_dataSetDef, this, addRowIndex: false, NoRows); } if (!NoRows) { if (m_firstRowOffset == DataFieldRow.UnInitializedStreamOffset) { odpContext.ReportObjectModel.CreateNoRows(); return; } Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ChunkManager.DataChunkReader dataChunkReader = odpContext.GetDataChunkReader(m_dataSetDef.IndexInCollection); dataChunkReader.ReadOneRowAtPosition(m_firstRowOffset); odpContext.ReportObjectModel.FieldsImpl.NewRow(m_firstRowOffset); odpContext.ReportObjectModel.UpdateFieldValues(!newDataSetDefinition, dataChunkReader.RecordRow, this, dataChunkReader.ReaderExtensionsSupported); } }