Estoy creando graficas en asp.net con el control WebChart, para crear las graficas con datos fijos no tengo ningun problema, asi que este codigo funciona
Código:
La linea roja es la encargada de crear una nueva columna en el grafico. pero cuando trato de crear los objetos dinamicamente uso este codigoColumnChart chart = new ColumnChart(); chart.MaxColumnWidth = 10; chart.Fill.Color = Color.FromArgb(50, Color.Red); chart.Shadow.Visible = true; chart.Legend = "Pri 0"; ColumnChart chart1 = new ColumnChart(); chart1.MaxColumnWidth = 10; chart1.Fill.Color = Color.FromArgb(50, Color.Yellow); chart1.Shadow.Visible = true; chart1.Legend = "Pri 1";
Código:
miDs es un dataset que devuelve dos registros, por lo tanto se generan dos columnasfor(int i=0;i <= miDs.Tables[0].Rows.Count -1;i++) { ColumnChart columna = new ColumnChart(); columna.MaxColumnWidth=10; columna.Fill.Color=Color.Blue; columna.Legend=miDs.Tables[0].Columns[0].ColumnName.ToString(); columna.Data.Add(new ChartPoint(miDs.Tables[0].Rows[0]["Area"].ToString(),(float)Convert.ToDouble(miDs.Tables[0].Rows[0]["Total"].ToString()))); ChartControl3.Charts.Add(columna); } ChartControl3.RedrawChart();
Y hasta cierto punto funciona, pero tengo un problema y es que todos las columnas se crean en base a un mismo objeto(columna), entonces al colocar el titulo en el eje x solo aparece el nombre de la ultima.
Lo que yo quiero hacer es que cada columna se cree con un nombre diferente, asi que trate de hacer esto:
Código:
Que pretendia hacer yo en la linea verde, crear cada columna con un nombre diferente, pero no funciono.for(int i=0;i <= miDs.Tables[0].Rows.Count -1;i++) { ColumnChart midDs.Tables[0].Rows[i]["Area"] = new ColumnChart(); . . . }
Como referencia dejo la web del control:
WebChart
Gracias