dbgrid довольно тупая штука, очень быстро понял, что его можно использовать только для отображения записей. Для редактирования и добавления записей я использую отдельное окно диалога с полями DBEdit. Однажды ради прикола сделал так, что при двойном клике поверх ячейки создается DBEdit где можно изменять значение. Но в том случае речь шла о специальной таблице с фиксированным количеством записей и в ней отображались вычисляемые поля, а редактировались связанные с ними реальные