private void initTableColumns() {
        // Enabled.
        final Column<ComponentSelectionHandler, TickBoxState> enabledColumn =
                new Column<ComponentSelectionHandler, TickBoxState>(
                        TickBoxCell.create(
                                new TickBoxCell.NoBorderAppearance(),
                                false,
                                false,
                                false)) {
                    @Override
                    public TickBoxState getValue(final ComponentSelectionHandler row) {
                        if (row == null) {
                            return null;
                        }
                        return TickBoxState.fromBoolean(row.isEnabled());
                    }
                };
        dataGrid.addColumn(enabledColumn, "Enabled", ColumnSizeConstants.ENABLED_COL);

        // Expression.
        final Column<ComponentSelectionHandler, String> expressionColumn =
                new Column<ComponentSelectionHandler, String>(new TextCell()) {
                    @Override
                    public String getValue(final ComponentSelectionHandler row) {
                        return row.getExpression().toString();
                    }
                };
        dataGrid.addResizableColumn(expressionColumn, "Expression", 200);

        dataGrid.addEndColumn(new EndColumn<>());
    }
Add the columns to the table.
stroom-core-client/src/main/java/stroom/dashboard/client/query/SelectionHandlerListPresenter.java