Изменить действие обновления gridview, чтобы поставить время в столбце?

У меня есть сетка с 3 столбцами, только один столбец будет редактироваться пользователем. Всякий раз, когда он редактируется, я бы хотел установить один из других столбцов на текущее время. "Время последнего обновления", если хотите. Возможный?

2 ответа

Решение

Решение Энди работает.

Другим способом было бы изменить SQL-оператор UPDATE, связанный с сеткой. Используйте GetDate() (или ваш эквивалент БД) в выражении UPDATE, например:

ОБНОВЛЕНИЕ MyTable SET usereditvalue = @usereditvalue, mytimestamp = GETDATE()

Опционально с оператором Where:

ГДЕ MyTable.ID = @oldIDvalue

Чтобы сделать это таким образом, прочитайте о параметризованных запросах и значениях таблицы / таблицы ключей (для вашего оператора WHERE).

Добавьте обработчик событий в сетку так

Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
     If e.columnIndex > lowerBound AndAlso e.columnIndex < UpperBound Then
          dataGridView1.item(columnNumberWithTimes, e.rowIndex).value = Date.Now
     End If
 End Sub

Этот метод предполагает наличие диапазона редактируемых столбцов, определяемых lowerBound и upperBound. Теперь, когда бы ни изменялась ячейка, если эта ячейка находится в этом диапазоне, ячейка в соответствующей строке в столбце, определенном columnNumberWithTimes, будет обновляться с новым временем.

Другие вопросы по тегам