You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinForm Chart组件报错及仅显示首条数据问题求助

问题:Chart组件数据加载异常排查

初始错误:找不到指定Series

窗体加载时运行addChartValues函数,反复出现错误:无法在'SeriesCollection'中找到名为'Current Streak'的图表元素。相关代码如下:

private void addChartValues()
{
    ...
    string username;
    int currentStreak;
    int HighestStreak;
    int NumOfDaysAttempted;
    int FlashcardsCreatedNum;
    int OverdueCardNum;

    while (reader.Read())
    {
        username = reader.GetString(0);
        currentStreak = reader.GetInt32(1);
        HighestStreak = reader.GetInt32(2);
        NumOfDaysAttempted = reader.GetInt32(3);
        FlashcardsCreatedNum = reader.GetInt32(4);
        OverdueCardNum = reader.GetInt32(5);
        CurrentStreakChart.Series["Current Streak"].Points.AddXY(username, currentStreak);
        HighestStreakChart.Series["Highest Streak"].Points.AddXY(username, HighestStreak);
        NumAttemptedChart.Series["Number of Days Attempted"].Points.AddXY(username, NumOfDaysAttempted);
        CardsCreatedChart.Series["Number of Cards Created"].Points.AddXY(username, FlashcardsCreatedNum);
        OverdueCardsChart.Series["Number of Overdue Cards"].Points.AddXY(username, OverdueCardNum);
    }

    reader.Close();

    conn.Close();
}

了解到可以通过var series = CurrentStreakChart.Series.Add("Current Streak");的方式创建Series,但不熟悉Chart组件,不知道如何在代码中正确实现。


补充问题:添加Series后仅显示第一组数据

已添加如下Series初始化代码,但现在图表仅显示数据库中的第一组数据,确认SQL语句正确,怀疑AddXY存在问题,恳请帮助。

CurrentStreakChart.Series.Add("Current Streak");
HighestStreakChart.Series.Add("Highest Streak");
NumAttemptedChart.Series.Add("Number of Days Attempted");
CardsCreatedChart.Series.Add("Number of Cards Created");
OverdueCardsChart.Series.Add("Number of Overdue Cards");

内容的提问来源于stack exchange,提问作者r.m3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:05:16