我正在尝试在ASP.NET应用程序中显示一个简单的图表。 我尝试在aspx页面中使用数组创建一个图表并设法这样做。 但是当我尝试显示数据库中的数据时,没有任何反应。
除了ddl的一部分。我选择一个日期并将其用于我的SQL查询。 从db部分的retreiving工作,并根据我在调试中看到的,绑定也是如此。 但出于某种原因,什么都没有出现。
以下是aspx的代码:
<asp:Chart ID="ChartStats" runat="server" Visible = "false" >
<Titles>
<asp:Title ShadowOffset="3" Name="Items" />
</Titles>
<Legends>
<asp:Legend Alignment="Center" Docking="Bottom" IsTextAutoFit="False" Name="Default" LegendStyle="Row" />
</Legends>
<Series>
<asp:Series Name="Default"></asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartStatsArea"></asp:ChartArea>
</ChartAreas>
</asp:Chart>
这是背后的代码:
String date = Convert.ToDateTime(DateFrom.Text).ToString("yyyyMMdd");
string query = "select HOUR_BUCKET, count(START_CALL_COUNT) from ictappo.traffic_summary t where EVENT_START_DATE=" + date + " group by HOUR_BUCKET order by HOUR_BUCKET asc";
DataTable dataTable = new DataTable("TRAFFIC_SUMMARY");
ApplicationTables ApplTbl = new ApplicationTables("TRAFFIC_SUMMARY");
String SQLError = "";
dataTable = ApplTbl.GetTRAFFIC_SUMMARY(query, ref SQLError);
int[] x = new int[dataTable.Rows.Count];
int[] y = new int[dataTable.Rows.Count];
for (int i = 0; i < dataTable.Rows.Count; i++)
{
x[i] = i;
y[i] = Convert.ToInt32(dataTable.Rows[i][1]);
}
ChartStats.Series[0].Points.DataBindXY(x, y);
ChartStats.Series[0].ChartType = SeriesChartType.Pie;
ChartStats.ChartAreas["ChartStatsArea"].Area3DStyle.Enable3D = true;
ChartStats.Legends[0].Enabled = true;
请帮帮我
更新: 我也试图将这一行添加到x,y的循环(并删除dataBINDXY命令),但它没有帮助:
ChartStats.Series["Default"].Points.AddXY(x[i], y[i]);
答案 0 :(得分:0)
嗯,问题出在页面渲染上,这段代码还可以。