Reputation: 1
I defined a class in my ASP.NET webform page:
namespace AdsignInt_V0._2.AdvertiserZone.ChartReports
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<string> XAxisItems = new List<string>();
XAxisItems.Add("Monday");
XAxisItems.Add("Tuesday");
XAxisItems.Add("Wednesday");
XAxisItems.Add("Thursday");
XAxisItems.Add("Friday");
XAxisItems.Add("Saturday");
XAxisItems.Add("Sunday");
SeriesItem series1 = new SeriesItem("Week 1", Color.Red);
for (int i = 1; i < 8; i++)
series1.Items.Add(i * 10);
SeriesItem series2 = new SeriesItem("Week 2", Color.Blue);
for (int i = 1; i < 8; i++)
series2.Items.Add(100 - i * 10);
List<SeriesItem> SeriesItems = new List<SeriesItem>();
SeriesItems.Add(series1);
SeriesItems.Add(series2);
makeChart(XAxisItems, SeriesItems);
}
void makeChart(List<string> XAxisItems, List<SeriesItem> SeriesItems)
{
MyChart.Appearance.FillStyle.BackgroundColor = Color.White;
MyChart.ChartTitle.Text = "Server CPU Load By Days";
MyChart.ChartTitle.Appearance.Align = ChartTitleAlign.Center;
MyChart.ChartTitle.Appearance.BackgroundColor = Color.White;
MyChart.ChartTitle.Appearance.Position = ChartTitlePosition.Top;
MyChart.Legend.Appearance.BackgroundColor = Color.White;
MyChart.Legend.Appearance.Position = ChartLegendPosition.Bottom;
MyChart.PlotArea.Appearance.FillStyle.BackgroundColor = Color.White;
{ //XAxis
MyChart.PlotArea.XAxis.AxisCrossingValue = 0;
MyChart.PlotArea.XAxis.Color = Color.Black;
MyChart.PlotArea.XAxis.MajorTickType = TickType.Outside;
MyChart.PlotArea.XAxis.MinorTickType = TickType.Outside;
MyChart.PlotArea.XAxis.Reversed = false;
MyChart.PlotArea.XAxis.LabelsAppearance.DataFormatString = "{0}";
MyChart.PlotArea.XAxis.LabelsAppearance.RotationAngle = 0;
MyChart.PlotArea.XAxis.LabelsAppearance.Skip = 0;
MyChart.PlotArea.XAxis.LabelsAppearance.Step = 1;
MyChart.PlotArea.XAxis.MajorGridLines.Color = Color.Gray;
MyChart.PlotArea.XAxis.MinorGridLines.Color = Color.Gray;
MyChart.PlotArea.XAxis.TitleAppearance.Text = "Days";
MyChart.PlotArea.XAxis.TitleAppearance.Position = AxisTitlePosition.Center;
MyChart.PlotArea.XAxis.TitleAppearance.RotationAngle = 0;
foreach (string item in XAxisItems)
MyChart.PlotArea.XAxis.Items.Add(item);
}
{ //YAxis
MyChart.PlotArea.YAxis.MinValue = 0;
MyChart.PlotArea.YAxis.MaxValue = 100;
MyChart.PlotArea.YAxis.Step = 25;
MyChart.PlotArea.YAxis.AxisCrossingValue = 0;
MyChart.PlotArea.YAxis.Color = Color.Black;
MyChart.PlotArea.YAxis.MajorTickType = TickType.Outside;
MyChart.PlotArea.YAxis.MinorTickType = TickType.Outside;
MyChart.PlotArea.YAxis.Reversed = false;
MyChart.PlotArea.YAxis.LabelsAppearance.DataFormatString = "{0}%";
MyChart.PlotArea.YAxis.LabelsAppearance.RotationAngle = 0;
MyChart.PlotArea.YAxis.LabelsAppearance.Skip = 0;
MyChart.PlotArea.YAxis.LabelsAppearance.Step = 1;
MyChart.PlotArea.YAxis.MajorGridLines.Color = Color.Gray;
MyChart.PlotArea.YAxis.MinorGridLines.Color = Color.Gray;
MyChart.PlotArea.YAxis.TitleAppearance.Text = "CPU Load";
MyChart.PlotArea.YAxis.TitleAppearance.Position = AxisTitlePosition.Center;
MyChart.PlotArea.YAxis.TitleAppearance.RotationAngle = 0;
}
foreach (SeriesItem seriesItem in SeriesItems)
{
LineSeries lineSeries = new LineSeries();
lineSeries.Name = seriesItem.name;
lineSeries.Appearance.FillStyle.BackgroundColor = seriesItem.backgroundColor;
lineSeries.LabelsAppearance.DataFormatString = seriesItem.dataFormatString;
lineSeries.LabelsAppearance.Position = seriesItem.position;
lineSeries.LineAppearance.Width = seriesItem.lineWidth;
lineSeries.MarkersAppearance.BackgroundColor = seriesItem.markerBackgroundColor;
lineSeries.MarkersAppearance.MarkersType = seriesItem.markerType;
lineSeries.MarkersAppearance.Size = seriesItem.markerSize;
lineSeries.MarkersAppearance.BorderColor = seriesItem.markerBorderColor;
lineSeries.TooltipsAppearance.BackgroundColor = seriesItem.tooltipBackgroundColor;
lineSeries.TooltipsAppearance.DataFormatString = seriesItem.tooltipDataFormatString;
foreach (decimal value in seriesItem.Items)
lineSeries.Items.Add(value);
MyChart.PlotArea.Series.Add(lineSeries);
}
}
}
public class SeriesItem
{
public string name;
public Color backgroundColor;
public string dataFormatString;
public LineAndScatterLabelsPosition position;
public int lineWidth;
public Color markerBackgroundColor;
public MarkersType markerType;
public int markerSize;
public Color markerBorderColor;
public Color tooltipBackgroundColor;
public string tooltipDataFormatString;
public List<decimal> Items;
public SeriesItem(string Name, Color color)
{
name = Name;
backgroundColor = color;
dataFormatString = "{0}%";
position = LineAndScatterLabelsPosition.Above;
lineWidth = 1;
markerBackgroundColor = Color.Yellow;
markerType = MarkersType.Circle;
markerSize = 8;
markerBorderColor = Color.Green;
tooltipBackgroundColor = Color.White;
tooltipDataFormatString = "{0}%";
Items = new List<decimal>();
}
}
}
But when I want to use a method from the class, I have an error that says to me:
The call is ambiguous between the following methods or properties: AdsignInt_V0._2.AdvertiserZone.ChartReports.SeriesItem.SeriesItem(string, System.Drawing.Color) and
AdsignInt_V0._2.AdvertiserZone.ChartReports.SeriesItem.SeriesItem(string, System.Drawing.Color) C:\Users\my media\Documents\Visual Studio 2013\Projects\AdsignInt_V0.2\AdsignInt_V0.2\AdvertiserZone\ChartReports\WebForm1.aspx.cs 27 34 AdsignInt_V0.2
Upvotes: 0
Views: 333
Reputation: 505
I define de System.Drawing in top.
using Draw = System.Drawing;
After if I need use System.Drawing I use it with Draw.
Sample:
public SeriesItem(string Name, Draw.Color color)
{
name = Name;
backgroundColor = color;
dataFormatString = "{0}%";
position = LineAndScatterLabelsPosition.Above;
lineWidth = 1;
markerBackgroundColor = Draw.Color.Yellow;
markerType = MarkersType.Circle;
markerSize = 8;
markerBorderColor = Draw.Color.Green;
tooltipBackgroundColor = Draw.Color.White;
tooltipDataFormatString = "{0}%";
Items = new List<decimal>();
}
Upvotes: 0
Reputation: 5601
Try cleaning the solution and the temporary ASP files, then rebuild. Most likely, the last build has assemblies that point to the same class name.
Also, the SeriesItem class is the old class that used to define RadHtmlChart series items, so you may want to change its name to avoid any conflicts. The current classes for series items are listed here: http://www.telerik.com/help/aspnet-ajax/htmlchart-server-side-api-configure-series-items.html.
On a side note - I do not think you need a new series for each series item, so you may want to put the foreach loop for the series items after the series creation.
Upvotes: 1