diff --git a/src/main/java/org/gcube/portlets/user/tdwx/client/TabularDataXGridPanel.java b/src/main/java/org/gcube/portlets/user/tdwx/client/TabularDataXGridPanel.java index 014607e..a5cb126 100644 --- a/src/main/java/org/gcube/portlets/user/tdwx/client/TabularDataXGridPanel.java +++ b/src/main/java/org/gcube/portlets/user/tdwx/client/TabularDataXGridPanel.java @@ -56,6 +56,7 @@ import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; import com.sencha.gxt.widget.core.client.event.HeaderContextMenuEvent; import com.sencha.gxt.widget.core.client.event.HeaderContextMenuEvent.HeaderContextMenuHandler; +import com.sencha.gxt.widget.core.client.grid.CellSelectionModel; import com.sencha.gxt.widget.core.client.grid.ColumnConfig; import com.sencha.gxt.widget.core.client.grid.ColumnModel; import com.sencha.gxt.widget.core.client.grid.Grid; @@ -64,6 +65,7 @@ import com.sencha.gxt.widget.core.client.grid.LiveToolItem; import com.sencha.gxt.widget.core.client.menu.Item; import com.sencha.gxt.widget.core.client.menu.Menu; import com.sencha.gxt.widget.core.client.menu.MenuItem; +import com.sencha.gxt.widget.core.client.selection.CellSelection; import com.sencha.gxt.widget.core.client.toolbar.ToolBar; /** @@ -212,6 +214,40 @@ public class TabularDataXGridPanel extends ContentPanel { return null; } + /** + * Retrieve selected cell value + * + * @return + */ + public String getSelectedCell() { + + if (grid != null && grid.getSelectionModel() != null) { + + CellSelection cell=((CellSelectionModel)grid.getSelectionModel()).getSelectCell(); + DataRow dataRow=cell.getModel(); + Row row=new Row(dataRow, keys); + + ColumnModel columnModel = grid + .getColumnModel(); + List> columns = columnModel + .getColumns(); + ColumnConfig col=columns.get(cell.getCell()); + + DataRowColumnConfig c = (DataRowColumnConfig) col; + ColumnDefinition cd = c.getDefinition(); + + String rowS = row.getFieldAsText(cd.getLabel()); + + String cellS="Selected Cell: ["+cell.getRow()+", "+cell.getCell()+"] "+rowS; + Log.debug(cellS); + + return rowS; + } + + return null; + } + + /** * getSelectedRowsId * @@ -374,6 +410,7 @@ public class TabularDataXGridPanel extends ContentPanel { //liveGridView.setRowHeight(19); grid = new Grid(store, columnModel); + grid.setSelectionModel(new CellSelectionModel()); grid.setLoadMask(true); grid.setLoader(loader); grid.setView(liveGridView);