在我的Web应用程序中,我需要显示来自数据表的柱形图数据绑定我在我的图表区域中的X轴有3列我需要显示col1一侧和第二列我需要显示不同的颜色系列显示图例也来自数据表。
我需要这样的,我怎么能这样做,任何人都可以帮助我如何做到这一点。
谢谢
答案 0 :(得分:2)
假设您的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);
}
}
编辑:假设您的DataTable
包含以下列/类型:
Columns.Add("Month", typeof(string));
Columns.Add("Charges", typeof(double));
Columns.Add("Payments", typeof(double));
OR
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);
}
}