我有一个显示实际数字和目标数字的网格视图,现在我将所有实际数字加起来以显示在标签控件中。现在,我要检查目标和实际数字,并且要基于实际目标是否高于目标数字来更改标签的文本颜色,我需要将文本更改为绿色,以及实际文本是否小于目标数字,我希望文字颜色为红色。我怎样才能做到这一点。
业务层
public int CalculatePackingTotal(DataTable dt)
{
using (DataManager dmgr = new DataManager())
{
int sum = 0;
int actual = 0;
int target = 0;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
if (dc.ColumnName.Contains("Actual"))
{
sum += (int) row[actual];
}
if (dc.ColumnName.Contains("Target"))
{
sum += (int) row[target];
}
if (actual < target)
{
return actual;
}
}
}
return sum;
}
}
和默认aspx背后的代码。
public void RefreshMainGrid(string selectedProduct, DateTime shiftStart, DateTime shiftEnd)
{
BizManager biz = new BizManager();
DataTable dt = new DataTable();
dt = biz.GetPacktstatisticsForShift(shiftStart, shiftEnd, selectedProduct);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();
int actualTotal = biz.CalculatePackingTotal(dt);
LabelTotal.Text = actualTotal.ToString();
}