У меня есть сетка, похожая на эту заметку
Hour - ActualA - TargetA - ActualB - TargetB - ActualC - TargetC - ActualAA
1 7 10 9 12 0 17 21
- цели остаются неизменными в каждом столбце.
ETC ETC будет 8 часов ... с разными цифрамипо всей сетке ...
У меня есть метка, которая суммирует все фактические значения и отображает это в элементе управления меткой, это прекрасно работает, так как суммирует все фактические цифры и получает итоговое значение ..
Что мне нужно сделать, так это суммировать каждый час и вариант и сказать, что если фактическое значение больше целевого, то метка зеленая, если меньше, чем метка красная. Но я не уверен, как мне этого добиться, это мой кодпока, но это не работает ... может быть, я слишком усложняю вещи?Кто-нибудь может помочь ...
public int CalculatePackingTotal(DataTable dt)
{
using (DataManager dmgr = new DataManager())
{
int sum = 0;
int target = 0;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
if (dc.ColumnName.Contains("ActualA"))
{
sum += (int) row[dc.ColumnName]; //This adds up all the Actual rows in the grid
}
if (dc.ColumnName.Contains("TargetA"))
{
target += (int)row[dc.ColumnName]; //This adds up all the target rows in the grid
}
if (dc.ColumnName.Contains("ActualB"))
{
sum += (int) row[dc.ColumnName];
}
if (dc.ColumnName.Contains("TargetB"))
{
target += (int) row[dc.ColumnName];
}
if (dc.ColumnName.Contains("ActualC"))
{
sum += (int) row[dc.ColumnName];
}
if (dc.ColumnName.Contains("TargetC"))
{
target += (int) row[dc.ColumnName];
}
if (dc.ColumnName.Contains("ActualAA"))
{
sum += (int) row[dc.ColumnName];
}
if (dc.ColumnName.Contains("TargetAA"))
{
target += (int) row[dc.ColumnName];
}
Color foreColorGreen = Color.Green;
Color forecolorRed = Color.Red;
if (sum < target)
{
sum.Equals(forecolorRed);
}
else
{
sum.Equals(foreColorGreen);
}
}
}
return sum;
}
}
Общая метка работает только с суммированием столбцов actaul, то есть
if (dc.ColumnName.Contains("Actual"))
{
sum += (int) row[dc.ColumnName]; //This adds up all the Actual rows in the grid.
Но я добавил в остальных, и это не меняет цвет и добавляетвсе цели, так что фактическое никогда не будет отображаться зеленым цветом, даже если это сработало ...