如何在StackedBar中值为零时隐藏数据点标签

Lit*_* JB 7 asp.net charts mschart

我有一个StackedBar,每条显示5个值,数据值显示在每个块的中间.到现在为止还挺好.但是,当值为零时,仍会显示该值,当存在​​大量零时,该值很混乱.

我希望能够将标签隐藏为零.我怎样才能做到这一点?

(我认为我可以通过逐行读取数据并逐步构建图表来做到这一点,但我宁愿能够在控件处抛出查询结果).

小智 5

您可以在Customize事件中隐藏标签:

protected void SummaryChart_Customize(object sender, EventArgs e)
{
    //hide label value if zero
    foreach (System.Web.UI.DataVisualization.Charting.Series series in SummaryChart.Series)
    {
        foreach (System.Web.UI.DataVisualization.Charting.DataPoint point in series.Points)
        {
            if (point.YValues.Length > 0 && (double)point.YValues.GetValue(0) == 0)
            {
                point.IsValueShownAsLabel = false;
            }
            else
            {
                point.IsValueShownAsLabel = true;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)