0

我的系统时钟是 2014 年 9 月 16 日(星期二)

但在代码中,我总是跳到星期一。

DayOfWeek dow = new DateTime().DayOfWeek;
int columnNumber = 0;

columnNumber = columnNumber + 0;

foreach ( DataGridViewRow row in dataGridView1.Rows )
{
  switch ( dow )
  {
  case DayOfWeek.Monday:
    columnNumber = 4;
    if ( (bool) row.Cells[4].Value == true ) // crashing here with NullReferenceException
    {
      row.Cells["activeTodayDataGridViewCheckBoxColumn"].Value = true;
    }
    break;

我有一个DataGridView

  • 第 0-3 列是Text
  • 第 4-9 列是DataGridViewCheckBoxColumn
4

1 回答 1

6

new DateTime()不提供今天的日期,而是提供默认值DateTime

您想将该行更改为:

DayOfWeek dow = DateTime.Now.DayOfWeek;

于 2014-09-16T17:01:57.033 回答