Hi Antony,
Remo recently pointed to this thread and after I read your last post on it, I got an idea, how to work around.
As far as I know, alway the 1st column get the focus.
Disable all A, B and C field statically and place a DD Item based column as 1st column.
When the user call one of your function pushing the button, then move the appropriate field value into the first column.
You can also override the Column Heading at runtime as well as Visual Assist. If the type of fields are not identical, then you should play a bit with conversion in ER.
At this point I got an other idea, which can solve Type, Visual Assist, Column Heading, Default Value diferrences with less ER code.
Place 3 "first" column, based on the the same Data Item as A, B , D.
When user call your function, hide 2 of 3 and show the appropriate one.
OK, it is a "little bit" late reply
Regards,
Zoltán