public void ResolveDataSetTokenIDs(TokensHashtable dataSetTokenIDs)
 {
     if (dataSetTokenIDs != null && this.m_dataSetTokenIDs != null)
     {
         DrillthroughParameters drillthroughParameters = new DrillthroughParameters();
         object obj = null;
         for (int i = 0; i < this.m_dataSetTokenIDs.Count; i++)
         {
             obj = ((this.m_dataSetTokenIDs[i] < 0) ? this.m_reportParameters.GetValue(i) : dataSetTokenIDs[this.m_dataSetTokenIDs[i]]);
             drillthroughParameters.Add(this.m_reportParameters.GetKey(i), obj);
         }
         this.m_reportParameters = drillthroughParameters;
     }
 }
Пример #2
0
        public void ProcessDrillthroughAction(ReportProcessing.ProcessingContext processingContext, int ownerUniqueName, int index)
        {
            if (this.m_drillthroughReportName != null)
            {
                Global.Tracer.Assert(this.m_drillthroughReportName.Type == ExpressionInfo.Types.Constant);
                if (this.m_drillthroughReportName.Value != null)
                {
                    DrillthroughParameters drillthroughParameters = null;
                    if (this.m_drillthroughParameters != null)
                    {
                        ParameterValue parameterValue = null;
                        for (int i = 0; i < this.m_drillthroughParameters.Count; i++)
                        {
                            parameterValue = this.m_drillthroughParameters[i];
                            if (parameterValue.Omit != null)
                            {
                                Global.Tracer.Assert(parameterValue.Omit.Type == ExpressionInfo.Types.Constant);
                                if (!parameterValue.Omit.BoolValue)
                                {
                                    goto IL_007c;
                                }
                                continue;
                            }
                            goto IL_007c;
IL_007c:
                            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(this.m_drillthroughReportName.Value, drillthroughParameters, null);
                    string drillthroughId = ownerUniqueName.ToString(CultureInfo.InvariantCulture) + ":" + index.ToString(CultureInfo.InvariantCulture);
                    processingContext.DrillthroughInfo.AddDrillthrough(drillthroughId, drillthroughInfo);
                }
            }
        }
 public DrillthroughInfo(string reportName, DrillthroughParameters parameters)
 {
     this.m_reportName       = reportName;
     this.m_reportParameters = parameters;
 }
 public DrillthroughInformation(string reportName, DrillthroughParameters reportParameters, IntList dataSetTokenIDs)
 {
     this.m_reportName       = reportName;
     this.m_reportParameters = reportParameters;
     this.m_dataSetTokenIDs  = dataSetTokenIDs;
 }