Source:
<code>public void initTable(final CommonApplicationConstants constants) { getTable().enableColumnResizing(); TextColumnWithTooltip<DiskProfile> nameColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { return object.getName(); } <START> }; <END> getTable().addColumn(nameColumn, constants.diskProfileNameLabel(), "200px"); TextColumnWithTooltip<DiskProfile> descriptionColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { return object.getDescription(); } }; getTable().addColumn(descriptionColumn, constants.diskProfileDescriptionLabel(), "200px"); TextColumnWithTooltip<DiskProfile> qosColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { String name = constants.UnlimitedStorageQos(); if (object.getQosId() != null) { StorageQos storageQos = getModel().getStorageQos(object.getQosId()); if (storageQos != null) { name = storageQos.getName(); } } return name; } }; getTable().addColumn(qosColumn, constants.storageQosName(), "200px"); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.newDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getNewCommand(); } }); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.editDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getEditCommand(); } }); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.removeDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getRemoveCommand(); } }); getModel().getSelectedItemChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { updatePermissionPanel(); } }); getModel().getItemsChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { updatePermissionPanel(); } }); }</code><technical_language>want this column sortable. This do it: nameColumn.makeSortable();</technical_language>

Target:
public void initTable(final CommonApplicationConstants constants) { getTable().enableColumnResizing(); TextColumnWithTooltip<DiskProfile> nameColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { return object.getName(); } }; getTable().addColumn(nameColumn, constants.diskProfileNameLabel(), "200px"); nameColumn.makeSortable(); TextColumnWithTooltip<DiskProfile> descriptionColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { return object.getDescription(); } }; getTable().addColumn(descriptionColumn, constants.diskProfileDescriptionLabel(), "200px"); descriptionColumn.makeSortable(); TextColumnWithTooltip<DiskProfile> qosColumn = new TextColumnWithTooltip<DiskProfile>() { @Override public String getValue(DiskProfile object) { String name = constants.UnlimitedStorageQos(); if (object.getQosId() != null) { StorageQos storageQos = getModel().getStorageQos(object.getQosId()); if (storageQos != null) { name = storageQos.getName(); } } return name; } }; getTable().addColumn(qosColumn, constants.storageQosName(), "200px"); qosColumn.makeSortable(); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.newDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getNewCommand(); } }); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.editDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getEditCommand(); } }); getTable().addActionButton(new WebAdminButtonDefinition<DiskProfile>(constants.removeDiskProfile()) { @Override protected UICommand resolveCommand() { return getModel().getRemoveCommand(); } }); getModel().getSelectedItemChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { updatePermissionPanel(); } }); getModel().getItemsChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { updatePermissionPanel(); } }); }