Hola:
Si el DBGrid esta conectado a un DataSet lo que puedes hacer es editar directamente sobe el grid. Para esto debes marcar en las probirdades del DBGrid la opción "dgEditing=True" y "dgRowSelect=False".
Si no quieres que el usuario modifique los valores de las otras columnas lo que debes hacer es colocar el siguiente código en al evento "onShow" del Form.
Código Delphi
[-]
GridDatos.Columns[0].ReadOnly := True;
GridDatos.Columns[2].ReadOnly := True;
Salu2!