Ejemplo n.º 1
0
        public string Create()
        {
            string        xml;
            StringBuilder xmlData = new StringBuilder();

            ID = GenerateChartID();

            if (_Series.Count == 1)
            {
                xmlData.Append(GetChartProperties());

                foreach (Series series in _Series)
                {
                    foreach (Point point in series.Points)
                    {
                        xmlData.AppendFormat("<set label='{0}' value='{1}' />", point.Label, point.Value);
                    }
                }
                xmlData.Append(GetTrendLineString());
                xmlData.Append("</chart>");
                _XmlString = xmlData.ToString();
            }
            else if (_Series.Count > 1)
            {
                xmlData.Append(GetChartProperties());
                _Series.Sort();
                Series topSeriesItem = _Series[0];

                List <string> categories = new List <string>();
                xmlData.Append("<categories>");

                foreach (Point item in topSeriesItem.Points)
                {
                    categories.Add(item.Label);
                    xmlData.AppendFormat("<category label='{0}' />", item.Label);
                }

                xmlData.Append("</categories>");

                foreach (Series seriesItem in _Series)
                {
                    xmlData.AppendFormat("<dataset seriesName='{0}' {1}>", seriesItem.Name, seriesItem.SeriesChartType == SeriesChartType.Default ? "" : string.Format(" renderAs='{0}'", seriesItem.SeriesChartType.GetString()));
                    foreach (string pItem in categories)
                    {
                        xmlData.AppendFormat("<set value='{0}' />", seriesItem.Points[pItem] == null ? "" : seriesItem.Points[pItem].Value);
                    }

                    xmlData.Append("</dataset>");
                }

                xmlData.Append(GetTrendLineString());
                xmlData.Append("</chart>");
                _XmlString = xmlData.ToString();
            }
            else if (string.IsNullOrEmpty(_XmlFile))
            {
            }

            if (this.IsPostBack)
            {
                xml = FusionCharts.RenderChartHTML("FusionCharts/" + ChartType.GetString(), _XmlFile, XmlString, ID, Width.ToString(), Height.ToString(), false, false);
            }
            else
            {
                xml = FusionCharts.RenderChart("FusionCharts/" + ChartType.GetString(), _XmlFile, XmlString, ID, Width.ToString(), Height.ToString(), false, false);
            }
            return(xml);// FusionCharts.RenderChart("FusionCharts/MSColumn3D.swf", "MultiseriesChart.xml", "", ID, "500", "300", false, false);
        }