对gridview列求和,如果为true,则将标签文本更改为红色或绿色

时间:2018-07-02 08:29:57

标签: c# asp.net label

所以我有一个从SQL提取数据的gridview,这给了

hour target1 actual1 target2 actual2 target3 actual3
1      20      21       30     0        40       2
2      20      25       30     1        40       38

这将持续到第8小时,依此类推。

现在在同一页面上,我还具有一个标签,该标签会统计实际值,并每隔30秒刷新一次后显示它们……我现在要根据轮班的开始进行操作。我希望标签显示绿色或红色...如果它们在目标之前,则显示绿色,如果它们在目标后面,则将标签显示为红色。有人可以帮忙吗?我到目前为止所拥有的,但是这不会改变文本,我不确定如何将计算结果放在一起。

 public int CalculatePackingTotal(DataTable dt)
        {
            using (DataManager dmgr = new DataManager())
            {

                var sum = 0;
                int target = 0;

                foreach (DataRow row in dt.Rows)
                {
                    foreach (DataColumn dc in dt.Columns)
                    {

                        if (dc.ColumnName.Contains("Actual"))
                        {
                            sum += (int) row[dc.ColumnName]; //This adds up all the Actual rows in the grid
                        }

                        if (dc.ColumnName.Contains("Target"))
                        {
                            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;
                }
            }

0 个答案:

没有答案