2015-11-16 3 views
1

Я пытаюсь вставить/обновить данные в DataGridView, но столкнулся с небольшой проблемой.Выбрать/удалить строку в DataGridView

В ячейках DataGridView указаны определенные ячейки с датой и временем начала (дата и время). Теперь то, что я пытаюсь сделать, - это нажать кнопку, чтобы текущая дата должна была быть найдена, строка выбрана, тогда время начала должно быть считано и с текущим временем следует рассчитать TimeSpan.

Сейчас я просто пытаюсь получить выбранную строку, чтобы вынуть данные ячейки времени запуска.

var Today = DateTime.Now.ToShortDateString(); 

     dataGridView1.SelectedRows.Clear(); 

     foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 
      if (row.Cells[0].Value.Equals(Today)) 
      { 
       row.Selected = true; 
      } 
     } 

Но это дает мне ошибку в том, что листинг читается только ... Я не совсем уверен, что я сделал не так?

Так что я мог бы это воспринять, если кто-то может помочь мне с этим или дать мне совет о том, как решить эту проблему.

Заранее благодарен всем. :)

+0

Какая линия дает ошибку ? –

+0

@ Иван Стоев благодарит за комментарии. Строки «dataGridView1.SelectedRows.Clear();» и "if (row.Cells [0] .Value.Equals (Today))" дает ошибку. – scitch

+0

@scitch Ошибка не в инструкции if, потому что вызов dataGridView1.SelectedRows.Clear(); –

ответ

3

При попытке очистить выделение в вашем DataGridView с помощью dataGridView1.SelectedRows.Clear(); вы получите исключение: Operation not supported. Collection is read-only.

Чтобы очистить выбор, вы можете использовать ClearSelection метод:

dataGridView1.ClearSelection(); 
+0

большое спасибо! Теперь я получаю сообщение об ошибке, что ссылка объекта не была назначена экземпляру объекта ....: -/ – scitch

+0

Вы должны проверить, что равно null, используя точку останова. Возможно, ваш 'row.Cells [0]' имеет значение null для некоторых строк. Где вы получаете сообщение об ошибке? –

+0

Я получаю сообщение об ошибке «if (row.Cells [0] .Value.Equals (Today)) « Statement. Значения, которые я получаю, используя точку останова, есть. 16.11.2015 для row.Cells [0] .Value и 16.11.2015 для Today ... – scitch