Предполагая, что ваши DataTable
имеет следующие столбцы/типы:
Columns.Add("Month", typeof(DateTime));
Columns.Add("Charges", typeof(double));
Columns.Add("Payments", typeof(double));
ASPX:
<asp:Chart ID="Chart1" runat="server" Height="400px" Width="600px">
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<AxisY>
<MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
<LabelStyle Format="C2" />
</AxisY>
<AxisX>
<MajorGrid LineColor="DarkGray" LineDashStyle="Dot" />
</AxisX>
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Name="Legend1">
</asp:Legend>
</Legends>
</asp:Chart>
CS:
protected void Page_Load(object sender, EventArgs e)
{
foreach (DataRow r in dt.Rows)
{
Series s = new Series(string.Format("{0} {1}", ((DateTime)r["Month"]).ToString("MMM"), ((DateTime)r["Month"]).Year));
s.ChartType = SeriesChartType.Column;
s.Points.AddXY("Charges", new object[] { r["Charges"] });
s.Points.AddXY("Payments", new object[] { r["Payments"] });
Chart1.Series.Add(s);
}
}
EDIT: Если предположить, что DataTable
имеет следующие колонки/типы:
Columns.Add("Month", typeof(string));
Columns.Add("Charges", typeof(double));
Columns.Add("Payments", typeof(double));
ИЛИ
Columns.Add("Month");
Columns.Add("Charges");
Columns.Add("Payments");
Тогда вы должны изменить код, чтобы это :
protected void Page_Load(object sender, EventArgs e)
{
foreach (DataRow r in dt.Rows)
{
Series s = new Series((string)r["Month"]);
s.ChartType = SeriesChartType.Column;
s.Points.AddXY("Charges", new object[] { r["Charges"] });
s.Points.AddXY("Payments", new object[] { r["Payments"] });
Chart1.Series.Add(s);
}
}
Какие типы столбцов у вас есть в вашем столе? – jsanalytics
В моей таблице данных у меня уже есть столбец «месяц» и значения типа «август-2016», как я могу взять это в ряд –
. Каковы типы для каждого столбца в таблице? Каков тип столбца «месяц»? Каков тип столбца «Платежи»? Каков тип столбца «Сборы»? – jsanalytics