Asp.net 如果MS图表控件没有数据,是否可以显示消息?

Asp.net 如果MS图表控件没有数据,是否可以显示消息?,asp.net,mschart,Asp.net,Mschart,如果没有数据可用于图表,是否有办法在MS图表控件上显示“默认”消息 我有一个图表,带有一些控件,允许用户选择不同的日期范围。如果在该日期范围内没有要绘制的数据,则当前只显示任何内容(或者至少显示图例和背景,但仅此而已) 我希望有一条消息说“这段时间没有数据”或者其他什么 谢谢 Ben如果没有数据,您应该能够在图表中添加注释 TextAnnotation annotation = new TextAnnotation(); annotation.X = 50; annotation.Y = 50;

如果没有数据可用于图表,是否有办法在MS图表控件上显示“默认”消息

我有一个图表,带有一些控件,允许用户选择不同的日期范围。如果在该日期范围内没有要绘制的数据,则当前只显示任何内容(或者至少显示图例和背景,但仅此而已)

我希望有一条消息说“这段时间没有数据”或者其他什么

谢谢


Ben

如果没有数据,您应该能够在图表中添加注释

TextAnnotation annotation = new TextAnnotation();
annotation.X = 50;
annotation.Y = 50;
annotation.Text = "No Data";
chart1.Annotations.Add(annotation);
    if (arr.Length > 0)
    {
        lblEmptyMSG.Visible = false;
    }
    else
    {
        lblEmptyMSG.Visible = true;
    }

我猜您将检索到的数据强制转换为数组,并将其用于图表绑定,如果是这样的话
您可以使用一个标签,根据数组长度显示/隐藏它,因为如果图表没有数据,就不会显示特定文本的属性

TextAnnotation annotation = new TextAnnotation();
annotation.X = 50;
annotation.Y = 50;
annotation.Text = "No Data";
chart1.Annotations.Add(annotation);
    if (arr.Length > 0)
    {
        lblEmptyMSG.Visible = false;
    }
    else
    {
        lblEmptyMSG.Visible = true;
    }

根据Chris的回答,这里有一个更完整的例子:

在ASPX代码中,将OnDataBound处理程序添加到图表标记中。这假设您正在为数据源使用SqlDataSource

<asp:Chart ID="ChartExample" runat="server" 
    DataSourceID="SqlDataSourceExample" 
    OnDataBound="ChartExample_DataBound">