internal FieldImpl this[int index] { get { ValidateFieldCollection(); try { FieldImpl obj = m_collection[index]; obj.UsedInExpression = true; return(obj); } catch (RSException) { throw; } catch (Exception e) { if (AsynchronousExceptionDetection.IsStoppingException(e)) { throw; } throw new ReportProcessingException_NonExistingFieldReference(); } } set { Global.Tracer.Assert(m_collection != null); m_collection[index] = value; } }
public override Field this[string key] { get { if (key == null) { throw new ReportProcessingException_NonExistingFieldReference(); } ValidateFieldCollection(); try { FieldImpl obj = m_collection[(int)m_nameMap[key]]; obj.UsedInExpression = true; return(obj); } catch (RSException) { throw; } catch (Exception e) { if (AsynchronousExceptionDetection.IsStoppingException(e)) { throw; } throw new ReportProcessingException_NonExistingFieldReference(); } } }
internal void Add(string name, FieldImpl field) { Global.Tracer.Assert(m_collection != null, "(null != m_collection)"); Global.Tracer.Assert(m_nameMap != null, "(null != m_nameMap)"); Global.Tracer.Assert(m_count < m_collection.Length, "(m_count < m_collection.Length)"); m_nameMap.Add(name, m_count); m_collection[m_count] = field; m_count++; }
internal void AddFieldsUsedInExpression(List <string> fieldsUsedInValueExpression) { if (m_collection == null) { return; } for (int i = 0; i < m_collection.Length; i++) { FieldImpl fieldImpl = m_collection[i]; if (fieldImpl.UsedInExpression && fieldImpl.FieldDef != null) { fieldsUsedInValueExpression.Add(fieldImpl.FieldDef.DataField); } } }
internal void SetFields(FieldImpl[] fields) { NewRow(); Global.Tracer.Assert(m_collection != null, "(null != m_collection)"); if (fields == null) { for (int i = 0; i < m_count; i++) { Microsoft.ReportingServices.ReportProcessing.Field fieldDef = m_collection[i]?.FieldDef; m_collection[i] = new FieldImpl(null, isAggregationField: false, fieldDef); } return; } Global.Tracer.Assert(fields.Length == m_count, "(fields.Length == m_count)"); for (int j = 0; j < m_count; j++) { m_collection[j] = fields[j]; } m_isAggregateRow = false; m_aggregationFieldCount = m_aggregationFieldCountForDetailRow; }
internal void SetRowIndex(int rowIndex) { Global.Tracer.Assert(m_addRowIndex, "(m_addRowIndex)"); Global.Tracer.Assert(m_count > 0, "(m_count > 0)"); m_collection[m_count - 1] = new FieldImpl(rowIndex, isAggregationField: false, null); }