向下钻取时避免使用空白图表

时间:2013-11-14 03:40:20

标签: c# asp.net charts

我在Microsoft Visual Studio 12和ACCESS数据库中使用C#在ASP.net中构建了一个向下钻取图表。

这些是我的连接字符串和SQL查询语句

string myConnectionString = "Path"; 
string mySelectQuery = "mysqlstatement";

Path和mysqlstatement只是示例,因为我在stackoverflow文本框中没有足够的空间来写。然而

using (OleDbConnection myConnection = new OleDbConnection(myConnectionString))
{
    OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
    myConnection.Open();
    OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

    Chart1.DataBindTable(myReader, "Region Name");
    myConnection.Close();
    Series Series1 = new Series();
    Chart1.Series.Add(Series1);
    Series1.XValueMember = "Region Name";
    Series1.YValueMembers = "TotalSales";`

这是我将数据绑定到图表的方式。我从下拉列表中选择了一个值为2011,并将相应的数据加载到Chart1中。但是,如果我从下拉列表中选择2010,我怎样才能在屏幕或标签框上显示一条消息,表明今年没有数据。

目前它只显示带有标题的空白图表1。所以我正在寻找一个条件来检查系列是否包含数据,如果它不打印该错误并中断或停止。

提前致谢

1 个答案:

答案 0 :(得分:0)

假设你只有一个系列,你可以尝试这样的事情:

protected void Chart1_DataBound(object sender, EventArgs e)
{
    if (Chart1.Series[0].Points.Count == 0)
        Label1.Text = "No DATA";
}