C#窗口形成具有日期值和时间值的datagridview cellformating事件

时间:2017-07-15 11:51:16

标签: c# winforms datagridview

在我的Windows窗体中,我从MS Access数据库中获取了一个dataGridView,它有一个包含TaskDate和TaskTime的两列。 TaskDate(数据类型=日期时间)仅保存日期,而TaskTime(数据类型=日期时间)仅保留时间。现在在datagridview cellformating事件中,我希望基于两个条件当前日期和当前时间与系统日期和时间一致,使标签可见(标签的可见性在表单加载时为false)。下面是我尝试过的代码,它不会抛出错误,但它甚至不会使标签可见。急需帮助:(

    foreach (DataGridViewRow row1 in dataGridView1.Rows)
            {
                DateTime rowtype1 = Convert.ToDateTime(row1.Cells["TaskDate"].Value);
                DateTime rowtype2 = Convert.ToDateTime(row1.Cells["TaskTime"].Value);
    // Time formt is  dataGridView1.Columns["TaskTime"].DefaultCellStyle.Format = @"hh\:mm";

                if (rowtype1 == DateTime.Today && rowtype2 > DateTime.Now)
                {  
                  // label6 visibile property is false on form load
                    label6.Visible = true;
                    label6.Text = "Its time now";
                }

            }

1 个答案:

答案 0 :(得分:1)

如果您愿意仅比较DateTime的时间部分。比较两个TimeOfDay结构的DateTime属性。

rowtype2.TimeOfDay > DateTime.Now.TimeOfDay