I have a simple nattable with column header layer. But when I click on column header entire column gets selected. I have to have a selection layer for only bodydata layer.
Also I want to disable all selection/click events on Column headers.
The default selection bindings are configured via DefaultSelectionBindings configuration. This is automatically registered when creating the SelectionLayer with autoconfigure turned on.
You can either turn the autoconfiguration off and register customized configurations. The easiest way would be to create a subclass of DefaultSelectionBindings and override configureColumnHeaderMouseClickBindings() to do nothing. And then create a subclass of DefaultSelectionLayerConfiguration where you override addSelectionUIBindings() to register your binding configuration. This customized selection layer configuration then needs to be added to the SelectionLayer.
The other way would be to try to unregister the applied ui bindings after NatTable#configure(). But for that approach you need some more in-depth knowledge to know what you need to unregister.