private void CreateAndInitializeCalculatedFieldWrapper(ObjectModelImpl reportOM, bool readerExtensionsSupported, DataSetCore dataSet, int fieldIndex, AspNetCore.ReportingServices.ReportIntermediateFormat.Field fieldDef) { CalculatedFieldWrapperImpl value = new CalculatedFieldWrapperImpl(fieldDef, reportOM.OdpContext.ReportRuntime); bool isAggregationField = (byte)((!readerExtensionsSupported) ? 1 : 0) != 0; if (dataSet.InterpretSubtotalsAsDetails == AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet.TriState.True) { isAggregationField = true; } this.m_fields[fieldIndex] = new FieldImpl(reportOM, value, isAggregationField, fieldDef); if (dataSet.ExprHost != null && fieldDef.ExprHost == null) { fieldDef.SetExprHost(dataSet.ExprHost, reportOM); } }
public FieldsContext(ObjectModelImpl reportOM, DataSetCore dataSet, bool addRowIndex, bool noRows) { List <AspNetCore.ReportingServices.ReportIntermediateFormat.Field> fields = dataSet.Fields; int num = (fields != null) ? fields.Count : 0; FieldsImpl fieldsImpl = new FieldsImpl(reportOM, num, addRowIndex, noRows); this.Initialize(reportOM, fieldsImpl, dataSet, null, null, true, false, DataFieldRow.UnInitializedStreamOffset); for (int i = 0; i < num; i++) { AspNetCore.ReportingServices.ReportIntermediateFormat.Field field = fields[i]; if (dataSet.ExprHost != null) { field.SetExprHost(dataSet.ExprHost, reportOM); } fieldsImpl.Add(field.Name, null); } if (addRowIndex) { fieldsImpl.AddRowIndexField(); } }