private void initTableColumns() {
        // Path.
        final Column<IndexVolume, String> volumeColumn = new Column<IndexVolume, String>(new TextCell()) {
            @Override
            public String getValue(final IndexVolume row) {
                if (row == null) {
                    return null;
                }
                return row.getPath();
            }
        };
        dataGrid.addResizableColumn(volumeColumn, "Path", 300);

        // Status.
        final Column<IndexVolume, String> streamStatusColumn = new Column<IndexVolume, String>(new TextCell()) {
            @Override
            public String getValue(final IndexVolume row) {
                if (row == null) {
                    return null;
                }
                return row.getState().getDisplayValue();
            }
        };
        dataGrid.addResizableColumn(streamStatusColumn, "Status", 90);

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