如何在特定条件下更改Datagrid视图行的背面颜色? [英] How Do I Change Back Color Of A Datagrid View Row Based In A Particular Condition?

查看:99
本文介绍了如何在特定条件下更改Datagrid视图行的背面颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在用c#编写一个程序,该程序包含学生卷号,姓名,标记和等级。用户插入前三个字段,其中等级由程序根据学生的标记自动计算。我尝试使用

dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Yellow;

但是它改变了下一行的颜色。

这是我的计算等级函数的代码:



I am making a program in c# that takes student roll number, name, marks and grade. the first three fields are inserted by the user where as the grade is calculated automatically by the program based upon student's marks.I tried using
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Yellow;
But it changes the color of the next row.
this is my code for the calculate grade function:

private string cal_grade()
       {
           string grade = "";
           marks = Int32.Parse(markstb.Text);
           if (marks >= 87 && marks <= 100)
           {
               dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Yellow;
               grade = "A";
               a++;
               Albl.Text = a.ToString();

           }
           else if (marks >= 80 && marks <= 86)
           {
               grade = "B+";
               bp++;
               Bpluslbl.Text = bp.ToString();
           }
           else if (marks >= 72 && marks <= 79)
           {
               grade = "B";
               b++;
               Blbl.Text = b.ToString();
           }

           else if (marks >= 66 && marks <= 71)
           {
               grade = "C+";
               cp++;
               Cpluslbl.Text = cp.ToString();
           }

           else if (marks >= 61 && marks <= 65)
           {
               grade = "C";
               c++;
               Clbl.Text = c.ToString();
           }
           else if (marks >= 50 && marks <= 60)
           {
               grade = "D";
               d++;
               Dlbl.Text = d.ToString();
           }
           else if (marks <= 50)
           {
               grade = "F";
               f++;
               Flbl.Text = f.ToString();
           }
           return grade;
       }

推荐答案

您需要为单个单元格设置单独的样式(不是继承或默认样式)或单个行:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.style%28v=vs.110%29.aspx [ ^ ],

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow%28v=vs.110%29.aspx [ ^ ]。br />


-SA
You need to set the individual style (not inherited or default style) for individual cell or individual row:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.style%28v=vs.110%29.aspx[^],
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow%28v=vs.110%29.aspx[^].

—SA


这篇关于如何在特定条件下更改Datagrid视图行的背面颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆