internal override void SetNewContext()
 {
     base.SetNewContext();
     if (m_dataValues != null)
     {
         m_dataValues.SetNewContext();
     }
     m_renderDataPoint       = null;
     m_dataValueUpdateNeeded = true;
     m_cachedDataPoint       = null;
 }
        internal DataValueCollection(RenderingContext renderingContext, Microsoft.ReportingServices.ReportRendering.ChartDataPoint dataPoint)
        {
            m_isChartValues = true;
            if (dataPoint.DataValues == null)
            {
                m_cachedDataValues = new DataValue[0];
                return;
            }
            int num = dataPoint.DataValues.Length;

            m_cachedDataValues = new DataValue[num];
            for (int i = 0; i < num; i++)
            {
                m_cachedDataValues[i] = new DataValue(renderingContext, dataPoint.DataValues[i]);
            }
        }
예제 #3
0
        public override Stream GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps)
        {
            actionImageMaps = null;
            Stream stream      = null;
            bool   hasImageMap = false;

            if (m_reportElementDef.IsOldSnapshot)
            {
                Microsoft.ReportingServices.ReportRendering.Chart chart = (Microsoft.ReportingServices.ReportRendering.Chart)m_reportElementDef.RenderReportItem;
                stream = chart.GetImage((Microsoft.ReportingServices.ReportRendering.Chart.ImageType)type, out hasImageMap);
                if (hasImageMap)
                {
                    int dataPointSeriesCount   = chart.DataPointSeriesCount;
                    int dataPointCategoryCount = chart.DataPointCategoryCount;
                    actionImageMaps = new ActionInfoWithDynamicImageMapCollection();
                    for (int i = 0; i < dataPointSeriesCount; i++)
                    {
                        for (int j = 0; j < dataPointCategoryCount; j++)
                        {
                            Microsoft.ReportingServices.ReportRendering.ChartDataPoint chartDataPoint = chart.DataPointCollection[i, j];
                            Microsoft.ReportingServices.ReportRendering.ActionInfo     actionInfo     = chartDataPoint.ActionInfo;
                            if (actionInfo != null)
                            {
                                actionImageMaps.InternalList.Add(new ActionInfoWithDynamicImageMap(m_reportElementDef.RenderingContext, actionInfo, chartDataPoint.MapAreas));
                            }
                        }
                    }
                }
            }
            else
            {
                stream = base.GetImage(type, out actionImageMaps);
            }
            return(stream);
        }
 public ChartDataPoint this[int series, int category]
 {
     get
     {
         if (series < 0 || series >= m_seriesCount)
         {
             throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, series, 0, m_seriesCount);
         }
         if (category < 0 || category >= m_categoryCount)
         {
             throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, category, 0, m_categoryCount);
         }
         ChartDataPoint chartDataPoint = null;
         if (series == 0 && category == 0)
         {
             chartDataPoint = m_firstDataPoint;
         }
         else if (series == 0)
         {
             if (m_firstSeriesDataPoints != null)
             {
                 chartDataPoint = m_firstSeriesDataPoints[category - 1];
             }
         }
         else if (category == 0)
         {
             if (m_firstCategoryDataPoints != null)
             {
                 chartDataPoint = m_firstCategoryDataPoints[series - 1];
             }
         }
         else if (m_dataPoints != null && m_dataPoints[series - 1] != null)
         {
             chartDataPoint = m_dataPoints[series - 1][category - 1];
         }
         if (chartDataPoint == null)
         {
             chartDataPoint = new ChartDataPoint(m_owner, series, category);
             if (m_owner.RenderingContext.CacheState)
             {
                 if (series == 0 && category == 0)
                 {
                     m_firstDataPoint = chartDataPoint;
                 }
                 else if (series == 0)
                 {
                     if (m_firstSeriesDataPoints == null)
                     {
                         m_firstSeriesDataPoints = new ChartSeriesDataPoints(m_categoryCount - 1);
                     }
                     m_firstSeriesDataPoints[category - 1] = chartDataPoint;
                 }
                 else if (category == 0)
                 {
                     if (m_firstCategoryDataPoints == null)
                     {
                         m_firstCategoryDataPoints = new ChartSeriesDataPoints(m_seriesCount - 1);
                     }
                     m_firstCategoryDataPoints[series - 1] = chartDataPoint;
                 }
                 else
                 {
                     if (m_dataPoints == null)
                     {
                         m_dataPoints = new ChartSeriesDataPoints[m_seriesCount - 1];
                     }
                     if (m_dataPoints[series - 1] == null)
                     {
                         m_dataPoints[series - 1] = new ChartSeriesDataPoints(m_categoryCount - 1);
                     }
                     m_dataPoints[series - 1][category - 1] = chartDataPoint;
                 }
             }
         }
         return(chartDataPoint);
     }
 }