来自数据库的实时图表数据


 private void MapChart()
    {
        List<double> allValues = new List<double>();
        string day = null;
        if (CON.State == ConnectionState.Open)
        {
            CON.Close();
        }
        CON.ConnectionString = ConfigurationManager.ConnectionStrings["conDB"].ConnectionString;
        CON.Open();
        CMD = new SqlCommand("select * from tblWeeklyAudit", CON);
        RDR = CMD.ExecuteReader();
        while (RDR.Read())
        {
            allValues.Add(Convert.ToDouble(RDR["Defects"]));
            day = Convert.ToString(RDR["Day"]);
        }
        SeriesCollection = new SeriesCollection
        {
            new LineSeries
            {
                Values = new ChartValues<double>(allValues)
            }
        };
        Labels = new[] { "Day 1", "Day 2", "Day 3", "Day 4" };
        DataContext = this;
    }

我想知道如何在其中获取 day 变量中的值。

Labels = new[] { "Day 1", "Day 2", "Day 3", "Day 4"};

天数可能会有所不同。我正在做这个作为我的学位项目。

假设您希望将 datareader 中每条记录的 RDR["Day"] 值添加到数组/集合中,并且 RDR["Day"] 的值类似于每条记录的 Day1Day2DayN,则可以在循环外部创建字符串列表,并将其添加到循环内。

类似于您在列表中执行allValues的操作。

var dayLabels= new List<string>();
while (RDR.Read())
{
   allValues.Add(Convert.ToDouble(RDR["Defects"]));
   var d= RDR.GetString(RDR.GetOrdinal("Day"));     
   dayLabels.Add(d);
}

您也可以使用列表执行数组的大多数常见操作(枚举它,从特定索引获取项目等(。如果你绝对想要这个列表中的数组,你可以调用列表中的ToArray方法来获取它

var myArray = dayLabels.ToArray();

相关内容

  • 没有找到相关文章

最新更新