Now the problem is that the values do not contain their correct values:
e, newStart and newEnd are correct.
oldColumn contains the value of newColumn (oldColumn value is available in e.row()).
newColumn contains probably the value of external (this is a boolean).
Could you explain this?