Some might have read my recent mibuso post on this topic. Thought it worthwhile to share it here too, with some additions to it. And also add it to my list of undocumented features.
Did you ever notice this?
When you dynamically hide a column – i.e. by means of code – like described in various posts to be found here or here the column will indeed be hidden, but if you have a look at the Choose columns section on Customize This Page the column will be shown in the list of visible columns. And when you select the column name the Remove button is disabled.
“Wouldn’t it have been more logic that it was moved to the left in the list of available columns and disable the Add button?”, I posed my question on the mibuso post.
Both Trouble In Paradise and Sog helped me to look at it another way. In Sog’s words: “It might be illogical for the end-user. But I think it makes sense from a developer pov.” Agree, that makes sense too. But isn’t the Customize This Page feature primarily there for end-users?
But what about page actions?
Here RTC seems to me inconsistent as dynamically changing the status an action will not show the action in the Customize This Page. Let’s hide the Statistics action on the Customer Card.
Now running the page and looking at the available actions on the Action Pane … indeed Statistics is no longer available.
BTW: if we would have set the StatVisible variable to TRUE (in the OnAfterGetRecord trigger) the user cannot manipulate the action anymore (see next screen shot).
Epilogue
OK, I can live with this all, but I always tend to get a bit itchy when things are not consistent, or at least do not comply to my image of consistency.
DONE!
connect entry is to be found here: Inconsistent behaviour when dynamically hiding controls on pages.
So go ahead and give your vote.