The easiest and fastest way to achieve this is that you use the standard textbox in the GridView control along with the new Eval method to databind the values. Now instead of showing spans or something else then Grid will always stay in update mode. You will place a button outside the Gridview and when that button is pressed you loop though the rows get the value of each textbox and then update your database. Normally your GridView would look this:
<AjaxData:GridView....>
<Columns>
<AjaxData:GridViewCommandColumn ShowEditButton="true" ShowDeleteButton="true" ShowCancelButton="true" .... />
<AjaxData:GridViewBoundColumn HeaderText="Customer" DataField="Company" SortField="Company" ... />
<AjaxData:GridViewBoundColumn HeaderText="Contact" DataField="ContactName" SortField="ContactName" ... />
</Columns>
</AjaxData:GridView>
Now instead of doing that do this:
<AjaxData:GridView....>
<Columns>
<AjaxData:GridTemplateColumn HeaderText="Customer">
<ItemTemplate>
<input type='textbox' value='{{ eval (Company) }} ' id='{{ eval (id) }}' />
</ItemTemplate>
</AjaxData:GridTemplateColumn>
</Columns>
</AjaxData:GridView>
<input type='button' text='update' onclick='update()'>
Does that make sense?