我正在尝试在 ASP.NET(C#) 中制作一个向下钻取图表(堆栈列),当我单击一个列时(假设是 2012 年),按年份(2011 年、2012 年、2013 年等)显示总收入,图表显示了该年每个月的总收入。这同样适用于每个月。
所以这就是想法,但我不知道如何制作这样的东西,我已经搜索了几天找到一些向下钻取的例子,但对我没有任何帮助,有一些例子但没有日期向下钻取。
这是我已经得到的,但还有多远?
数据库表定义:
RevenueNumbers:int
Date:Date
(从 SQL 服务器创建和填充图表)
public SqlConnection conn;
protected void Page_Load(object sender, EventArgs e)
{
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TestDB"].ConnectionString);
string query = "SELECT SUM(RevenueNumber) AS TotalRevenue, DATENAME(YYYY, Date) AS Year FROM test GROUP BY DATENAME(YYYY, Date)";
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
Chart1.DataSource = cmd.ExecuteReader();
Series Series1 = new Series();
Series1.XValueMember = "Year";
Series1.YValueMembers = "TotalRevenue";
Chart1.Series.Add(Series1);
Chart1.Series[0].PostBackValue = "#XVAL";
Chart1.Series[0].ChartType = SeriesChartType.Column;
Chart1.DataBind();
}
(HTML)
<div>
<asp:Chart ID="Chart1" runat="server">
<chartareas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</chartareas>
</asp:Chart>
</div>