【问题标题】:RadHtmlChart not skipping NULL valuesRadHtmlChart 不跳过 NULL 值
【发布时间】:2016-06-28 15:15:30
【问题描述】:

我有一个包含 NULL 值的 RadHtmlChart,而不是跳过或插入这些值,它们被计为零。

这是我的图表:

<Telerik:RadHtmlChart ID="rhc" runat="server">
    <PlotArea>
        <Series>
            <Telerik:ScatterLineSeries Name="Intl" DataFieldX="a1" DataFieldY="a2" MissingValues="Interpolate">
                <TooltipsAppearance DataFormatString="{1:N}% on {0:MM/dd}" />
                <MarkersAppearance Visible="true" />
            </Telerik:ScatterLineSeries>
            << - I have 7 more entries following - >>
        </Series>
        <XAxis BaseUnit="Weeks" Step="1">
            <LabelsAppearance DataFormatString="{0:MM/dd}" />
        </XAxis>
        <YAxis MaxValue="102" MinValue="0" Step="5">
            <TitleAppearance Text="Percentage" />
        </YAxis>
    </PlotArea>
    <Legend>
        <Appearance Position="Bottom" />
    </Legend>
</Telerik:RadHtmlChart>

我在后面的代码中设置图表的数据源。这是一个小样本:

a1         a2     b1         b2     c1         c2     d1         d2
5/02/2016  100    5/02/2016  96     5/02/2016  100    5/02/2016  (NULL)
5/09/2016  100    5/09/2016  100    5/09/2016  100    5/09/2016  (NULL)
5/16/2016  66     5/16/2016  100    5/16/2016  100    5/16/2016  100
5/23/2016  88     5/23/2016  80     5/23/2016  100    5/23/2016  100
5/30/2016  100    5/30/2016  100    5/30/2016  100    5/30/2016  (NULL)

e1         e2     f1         f2     g1         g2     h1         h2
5/02/2016  100    5/02/2016  100    5/02/2016  100    5/02/2016  98
5/09/2016  100    5/09/2016  5      5/09/2016  100    5/09/2016  83
5/16/2016  100    5/16/2016  (NULL) 5/16/2016  (NULL) 5/16/2016  80
5/23/2016  20     5/23/2016  66     5/23/2016  (NULL) 5/23/2016  63
5/30/2016  100    5/30/2016  100    5/30/2016  (NULL) 5/30/2016  100

A1 到 H2 都是每个日期的 1 条记录。我检查了我是否在每个系列上设置了“MissingValues”参数。我在调试模式下跟踪我的数据源,并确保在将其分配给图表之前没有将值设置为零,但它仍然显示零。

【问题讨论】:

    标签: asp.net vb.net telerik radhtmlchart


    【解决方案1】:

    目前尚不清楚预期的行为是什么。您是否希望完全不显示具有空数值的日期?如果是这种情况,最好在绑定之前从数据中删除它们。

    对不起,我的 VB 太生疏了,所以这里有一些 C#;

    List<Day> dataSource = getData();
    
    foreach(Day d in dataSource)
        if (d.Number == null)
            dataSource.Remove(d);
    

    【讨论】:

    • 你是对的。在发布之前,我应该多考虑一下。图表不会跳过空值是完全有道理的,因为 1 of 2 不为空。
    • @PhoenixFly 很高兴我能帮上忙。我理解你的意思,但图表不会知道你不想要那些带有空号的记录。所以 0 是自然的默认值。
    猜你喜欢
    • 1970-01-01
    • 2022-01-20
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多