예제 #1
0
 internal void AddDrillthrough(string drillthroughId, DrillthroughInformation drillthroughInfo)
 {
     if (m_drillthroughHashtable == null)
     {
         m_drillthroughHashtable = new DrillthroughHashtable();
     }
     m_drillthroughHashtable.Add(drillthroughId, drillthroughInfo);
 }
예제 #2
0
        internal void ProcessDrillthroughAction(ReportProcessing.ProcessingContext processingContext, int ownerUniqueName, int index)
        {
            if (m_drillthroughReportName == null)
            {
                return;
            }
            Global.Tracer.Assert(m_drillthroughReportName.Type == ExpressionInfo.Types.Constant);
            if (m_drillthroughReportName.Value == null)
            {
                return;
            }
            DrillthroughParameters drillthroughParameters = null;

            if (m_drillthroughParameters != null)
            {
                ParameterValue parameterValue = null;
                for (int i = 0; i < m_drillthroughParameters.Count; i++)
                {
                    parameterValue = m_drillthroughParameters[i];
                    if (parameterValue.Omit != null)
                    {
                        Global.Tracer.Assert(parameterValue.Omit.Type == ExpressionInfo.Types.Constant);
                        if (parameterValue.Omit.BoolValue)
                        {
                            continue;
                        }
                    }
                    Global.Tracer.Assert(parameterValue.Value.Type == ExpressionInfo.Types.Constant);
                    if (drillthroughParameters == null)
                    {
                        drillthroughParameters = new DrillthroughParameters();
                    }
                    drillthroughParameters.Add(parameterValue.Name, parameterValue.Value.Value);
                }
            }
            DrillthroughInformation drillthroughInfo = new DrillthroughInformation(m_drillthroughReportName.Value, drillthroughParameters, null);
            string drillthroughId = ownerUniqueName.ToString(CultureInfo.InvariantCulture) + ":" + index.ToString(CultureInfo.InvariantCulture);

            processingContext.DrillthroughInfo.AddDrillthrough(drillthroughId, drillthroughInfo);
        }
예제 #3
0
 internal void Add(string drillthroughId, DrillthroughInformation drillthroughInfo)
 {
     m_hashtable.Add(drillthroughId, drillthroughInfo);
 }