This happens whenever you change the value of a property that is shown in column view. So yes, it is normal. It happens because the whole column view, including the header and all overlays, is updated whenever one of the values displayed changes. Besides being visually unpleasant this also takes a long time in larger buffers.
One can, however, change the edit value command to only update the row edited as follows:
(defun org-colviewx-edit-value (&optional key)
"Edit property value, but update only current row."
(interactive)
(let* ((key (or key (get-char-property (point) 'org-columns-key)))
(value (get-char-property (point) 'org-columns-value))
(nval (string-trim (org-read-property-value key (point)))))
(when (not (equal nval value))
(org-entry-put (point) key nval)
(org-colviewx-redo-row))))
(defun org-colviewx-redo-row ()
"Construct the column display of the current row again."
(interactive)
(let ((inhibit-read-only t))
;; need to explicitly delete, otherwise value not always updated
(mapc #'delete-overlay (overlays-in (line-beginning-position)
(line-end-position)))
(org-columns--display-here
(save-excursion (org-columns--collect-values)))))
(org-defkey org-columns-map "e" #'org-colviewx-edit-value)
This is one of the extensions to column view that I have implemented in a package I am currently working on: org-colviewx.
One could also change other commands that modify values in a similar manner.
effort
? What happens if you change something else? Can you provide a minimal Org mode file that one could use to reproduce the behavior?