Say you have a table: (client_id /*primary key guid*/, [client_name, ...] )
I've got an auto-generated DataSet and a GridView updatable in two steps:
1. Select the ObjectDataSource in the designer. Press F4 to display Properties floater if it's not already displayed. Find the UpdateParameters (Collection) ... property, enter the "..." button to open the "Parameter Collection Editor", select the primary key column, ("client_id" in my case). Click the "Show advanced properties" link button (yet can't figure out what's so advanced about it). For the "Direction" property select "InputOutput"
2. Select the GridView object in the designer. Open the "Grid View Tasks" (small triangle arrow button at the top-right of the control) / "Edit Columns" / "Fields" window. In the "Selected Fields" list, select the "client_id". In the "Bound Field properties" for the "ReadOnly" property select "True".
Done
Sorry to be too "down and dirty" at this, but i have to, since we are talking about the "wizards and magic" ![Smile [:)]](/emoticons/emotion-1.gif)
To ASPNET Team:
IMHO, requirement for a property to be writable just to be able to send it for concurency resolution purpose, when it's actually readonly being a primary key, is an error.