Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/11/2005, 12:56
Avatar de jhonwilliams
jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 21 años
Puntos: 76
Crear instancias de un objeto dinamicamente

Hola

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:
ColumnChart 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";
La linea roja es la encargada de crear una nueva columna en el grafico. pero cuando trato de crear los objetos dinamicamente uso este codigo

Código:
for(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();
miDs es un dataset que devuelve dos registros, por lo tanto se generan dos columnas

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:
for(int i=0;i <= miDs.Tables[0].Rows.Count -1;i++)
{
ColumnChart midDs.Tables[0].Rows[i]["Area"] = new ColumnChart();
.
.
.
}
Que pretendia hacer yo en la linea verde, crear cada columna con un nombre diferente, pero no funciono.

Como referencia dejo la web del control:
WebChart

Gracias
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)