Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据另一个Datagridview中单元格的值更改Datagridview中的行颜色_C#_Datagridview_Cell Formatting - Fatal编程技术网

C# 根据另一个Datagridview中单元格的值更改Datagridview中的行颜色

C# 根据另一个Datagridview中单元格的值更改Datagridview中的行颜色,c#,datagridview,cell-formatting,C#,Datagridview,Cell Formatting,我正在使用WinC winform sql server 在我的数据库中,我试图管理我的小公司中的员工假期,因此创建了两个表 第一个名为tblMember的表 idMember PK,int,不为null memberName varchar50,null 该表以一对多的关系与 第二个表名为tblVacations IDPK,int,不为空 假期开始日期,空 假期结束日期,null idMember_LFK,int,null 然后我创建了一个带有两个datagridview的表单,第一个名为dg

我正在使用WinC winform sql server

在我的数据库中,我试图管理我的小公司中的员工假期,因此创建了两个表

第一个名为tblMember的表

idMember PK,int,不为null

memberName varchar50,null

该表以一对多的关系与

第二个表名为tblVacations

IDPK,int,不为空

假期开始日期,空

假期结束日期,null

idMember_LFK,int,null

然后我创建了一个带有两个datagridview的表单,第一个名为dg_的成员通过一个存储过程填充其数据名

第二个datagridview将填充相关数据

现在我想把今天缺席的DGU成员的名字涂成红色,介于vacationStart和vacationEnd之间,如果该成员今天来,则名称变为绿色

我试过密码:

private void dgMember_Grade_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            foreach (DataGridViewRow Myrow in dgMember_Grade.Rows)
            {
                var cvStart = dgVacation.Rows[0].Cells[1].Value;
                var cvEnd = dgVacation.Rows[0].Cells[2].Value;

                if (cvStart == null || cvStart == DBNull.Value)
                    continue;

                DateTime startDate = Convert.ToDateTime(cvStart);
                DateTime endDate = Convert.ToDateTime(cvEnd);

                if (startDate < DateTime.Now && endDate > DateTime.Now)
                {
                    Myrow.DefaultCellStyle.BackColor = Color.Red;
                }
                else if (endDate == DateTime.Now)
                {
                    Myrow.DefaultCellStyle.BackColor = Color.Green;
                }
            }
        }
但这给了我一个错误

索引超出范围。必须为非负数且小于集合的大小

多谢各位

declare @tmw Date  = DATEADD(day, 1,getdate())
select


m.MemberName
, case when t.idMember_L is null then 'False' else 'True' end as OnHoliday
, case when (select count (tm.idMember_L) from tblVacations tm where
    m.idMember = tm.idMember_L and
     t.vacationStart <= @tmw and t.vacationEnd >= @tmw ) > 0
     then 'False' else 'True' end as OnHolidayTomorrow
 from tblMember m
     left outer join tblVacations t
     on m.idMember = t.idMember_L and
     t.vacationStart <= getdate() and t.vacationEnd >= getdate()