在DataBind之后,图表不会出现在ASP.NET中

时间:2015-02-26 09:16:17

标签: c# asp.net charts

我正在尝试在ASP.NET应用程序中显示一个简单的图表。 我尝试在aspx页面中使用数组创建一个图表并设法这样做。 但是当我尝试显示数据库中的数据时,没有任何反应。

我按照这些说明操作: http://www.aspsnippets.com/Articles/Create-ASPNet-Chart-Control-from-Database-using-C-and-VBNet-Example.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]);

1 个答案:

答案 0 :(得分:0)

嗯,问题出在页面渲染上,这段代码还可以。