来自数据库的实时图表数据
Live charts data from database
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"]
的值添加到 array/collection 并且 RDR["Day"]
的值类似于 Day1
或Day2
或 DayN
对于每条记录,您可以在循环外创建一个字符串列表并添加到循环内。
类似于您在 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();
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"]
的值添加到 array/collection 并且 RDR["Day"]
的值类似于 Day1
或Day2
或 DayN
对于每条记录,您可以在循环外创建一个字符串列表并添加到循环内。
类似于您在 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();