Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        public void Draw(ZedGraph.GraphPane pane, object dataSource)
        {
            if (this.GraphPaneConfig == null)
            {
                return;
            }

            if (this.DataSource == null)
            {
                return;
            }

            this.GraphPaneConfig.ConfigGraphPane(pane);
            foreach (CurveConfigBase cfg in this.GraphPaneConfig.CurveConfigBaseCollection)
            {
                CurveDataCollection cds = cfg.Create(dataSource);
                foreach (CurveData cd in cds)
                {
                    switch (this.GraphPaneConfig.CurItemType)
                    {
                    case CurveItemType.Line:
                        if (this.GraphPaneConfig.XAxisType == ZedGraph.AxisType.Date)
                        {
                            ZedGraph.LineItem curve = pane.AddCurve(cd.Name, cd.PointList, cd.Color);
                            curve.Symbol.Fill = new ZedGraph.Fill(Color.White);
                        }
                        else if (this.GraphPaneConfig.XAxisType == ZedGraph.AxisType.Text)
                        {
                            LineItem curve = pane.AddCurve(cd.Name, null, cd.YValues, cd.Color);
                            pane.XAxis.Scale.TextLabels = cd.XAxisLabels;
                            curve.Symbol.Fill           = new Fill(Color.White);
                        }
                        break;

                    case CurveItemType.Bar:
                        pane.AddBar(cd.Name, null, cd.YValues, cd.Color);
                        pane.XAxis.Scale.TextLabels = cd.XAxisLabels;
                        break;

                    case CurveItemType.Pie:
                        pane.AddPieSlices(cd.YValues, cd.XAxisLabels);
                        break;
                    }
                }
            }
        }