I'd probably do it at the source level: when you retrieve the data to enter, generate the "extra data" then.
For example, if your data comes from SQL:
SELECT MyDateColumn, DATEADD(yy, 1, MyDateColumn) AS OneYearOn FROM MyTable
Would give you the two columns you need.
Similarly, when you get the
DataGridView.CellEndEdit Event[
^] for the date column, generate the new column value and set that in the data.