Whether the item.UpdateValues () only works for GridBoundColumn instead of GridTemplateColumn in Update_Command event? Since I have no way to get updated item by UpdateValues if the column is GridTemplateColumn.
In order to extract values from a template you should use two-way binding through Bind instead of one-way (Eval). Please take a look into the sample code.