开发者

Modify gridview update action to put time in column?

I have a gridview with 3 columns, only one column is going to be edited by the user. Whenever it is edited I'd like to set one of th开发者_运维知识库e other columns to the current time. A "time last updated" if you will. Possible?


Andy's solution works.

Another method would be to alter the UPDATE sql statement that is associated with the grid. Use GetDate() (or your DB equivalent) in the UPDATE statement like so:

UPDATE MyTable SET usereditvalue = @usereditvalue, mytimestamp = GETDATE()

Optionally with a Where statement:

WHERE MyTable.ID = @oldIDvalue

For doing it this way, read up on parameterized queries and gridview / table keyvalues (for your WHERE statement).


Add an event handler to the grid view like so

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

This method assumes that there is a range of columns that can be edited, defined by lowerBound and upperBound. Now, whenever a cell is modified, if that cell lies within that range, a cell in that respective row in a column defined by columnNumberWithTimes will be updated with the new time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜