This behaviour has pretty bad side effects.
First of all, as Patrick Klein reported, we cannot use column names with underscores, since they get "changed" in dots when displayed.
Second, we can't use sorting on columns whose value contains dots, since they get converted to underscores when passed to the bound table model.
It would better to come up with a different solution, that does not break usage of dots and underscores in column paths/names.
In any case, column display code should be fixed to preserve original format.
Some ideas to fix the second problem:
- use a more elaborate pattern, less likely to cause conflicts (e.g.: "___", three underscores) (simple, easy to adapt for users but hacky, although less that the current broken solution)
- connect the "overriding" blocks to the tablevalues with a different method, that does not involve a particular component name (would also be more robust, but harder and requires more refactoring by users)
A "compatibility" mode could be used to allow old code to work as before, specified by a parameter on the tablevalues component.
This has caused us multiple problems in multiple situations, and should REALLY be fixed ASAP.