TableColumn
already behaves like a button, just use addSelectionListener
to listen for the button being pressed. You can't easily add controls to the column header.
To select everything call
Object [] elements = get all the elements in your data model
dataTable.setSelecton(new StructuredSelection(elements));