Remember hidden original values in a gridviewJuly 4, 2007 9:07
To solve this issue you have to set and extra property and you have to supply some code to the Rowupdating event of the gridview. The property you have to set with the field names that you are not using is the DataKeyNames property of the gridview. For example:
DataKeyNames=”UniqueId,VersionId”
Now you can add the missing information to the OldValues and NewValues collection in the RowUpdating event.
Protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{ IDictionaryEnumerator restoreOldValues = e.Keys.GetEnumerator(); while (restoreOldValues.MoveNext()) { e.OldValues.Add(restoreOldValues.Key.ToString(), restoreOldValues.Value.ToString()); e.NewValues.Add(restoreOldValues.Key.ToString(), restoreOldValues.Value.ToString()); } } The gridview now has all the required information to run a successful update. Tags: .NET, database, DataKeyNames, field names, optimistic concurrency, RowUpdating. |
||