private void setupColumns() {
        // Icon
        dataGrid.addColumn(
                DataGridUtil.svgPresetColumnBuilder(false, UserAndGroupHelper::mapUserRefTypeToIcon)
                        .withSorting(UserFields.FIELD_IS_GROUP)
//                .enabledWhen(UserRef::isEnabled)
                        .centerAligned()
                        .build(),
                DataGridUtil.headingBuilder()
                        .headingText(UserAndGroupHelper.buildUserAndGroupIconHeader())
                        .centerAligned()
                        .withToolTip("Whether this row is a single user or a named user group.")
                        .build(),
                (ColumnSizeConstants.ICON_COL * 2) + 20);

        // Display Name
        final Column<UserRef, String> displayNameCol = DataGridUtil.textColumnBuilder(UserRef::getDisplayName)
//                .enabledWhen(UserRef::isEnabled)
                .withSorting(UserFields.FIELD_DISPLAY_NAME, true)
                .build();
        dataGrid.addResizableColumn(
                displayNameCol,
                DataGridUtil.headingBuilder(UserAndGroupHelper.COL_NAME_DISPLAY_NAME)
                        .withToolTip("The name of the user or group.")
                        .build(),
                300);
        dataGrid.sort(displayNameCol);

        // Full name
        dataGrid.addResizableColumn(
                DataGridUtil.textColumnBuilder(UserRef::getFullName)
//                        .enabledWhen(UserRef::isEnabled)
                        .withSorting(UserFields.FIELD_FULL_NAME, true)
                        .build(),
                DataGridUtil.headingBuilder(UserAndGroupHelper.COL_NAME_FULL_NAME)
                        .withToolTip("The full name of the user. Groups do not have a full name.")
                        .build(),
                350);

        DataGridUtil.addEndColumn(dataGrid);
    }
For selecting a username to add a user to a permissions set or selecting a user to add to a group.
For internal IDP this will list users from account and stroom_user combined.
For external IDP this will list users from stroom_user only and users on the IDP but not in
stroom_user will have to be manually added to the list.
stroom-core-client/src/main/java/stroom/security/client/presenter/UserRefPopupPresenter.java