protected void encodeColumnSelection(FacesContext context, DataTable component, UIColumn column, boolean selected, boolean rowSelectionEnabled)
            throws IOException {

        String selectionMode = component.getSelectionMode();

        if ("single".equalsIgnoreCase(selectionMode)) {
            encodeRadio(context, component, selected, !rowSelectionEnabled);
        }
        else if ("multiple".equalsIgnoreCase(selectionMode)) {
            encodeCheckbox(context, component, selected, !rowSelectionEnabled, HTML.CHECKBOX_CLASS, false);
        }
        else {
            throw new FacesException("Invalid column selection mode:" + selectionMode);
        }
    }
Encodes dynamic column. Allows to override default behavior.
primefaces/src/main/java/org/primefaces/component/datatable/DataTableRenderer.java