Problem with cell selection [message #1043390] |
Wed, 17 April 2013 16:39 |
Nandita Uppalapati Messages: 16 Registered: March 2013 |
Junior Member |
|
|
Hi,
I have a problem when I am selecting a cell within a nattable i.e right clicking or left clicking. I am sure I am doing something wrong but not sure what. I am using a custom data provider and I am able to move the scroll bar horizontally and vertically on the nattable so I am guessing nothing is wrong with the data provider, data layer and the viewport layer. But when I click on any cell suddenly my application hangs and the nattable vanishes when minimized and maximized. Here is the code corresponding to it
bodyDataProvider - my custom body data provider
DataLayer bodyDataLayer = new DataLayer(bodyDataProvider);
ColumnReorderLayer columnReorderLayer = new ColumnReorderLayer(bodyDataLayer);
ColumnHideShowLayer columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
SelectionLayer selectionLayer = new SelectionLayer(columnHideShowLayer);
ViewportLayer viewportLayer = new ViewportLayer(selectionLayer);
final FreezeLayer freezeLayer = new FreezeLayer(selectionLayer);
final CompositeFreezeLayer compositeFreezeLayer = new CompositeFreezeLayer(freezeLayer,
viewportLayer, selectionLayer);
columnHeaderDataProvider - custom column header data provider.
final ILayer columnHeaderLayer = new ColumnHeaderLayer(new DefaultColumnHeaderDataLayer(
columnHeaderDataProvider), compositeFreezeLayer, selectionLayer);
// Row header
final IDataProvider rowHeaderDataProvider = new DefaultRowHeaderDataProvider(bodyDataProvider);
final ILayer rowHeaderLayer = new RowHeaderLayer(new DefaultRowHeaderDataLayer(rowHeaderDataProvider),
compositeFreezeLayer, selectionLayer);
// Corner
final DefaultCornerDataProvider cornerDataProvider = new DefaultCornerDataProvider(columnHeaderDataProvider,
rowHeaderDataProvider);
final CornerLayer cornerLayer = new CornerLayer(new DataLayer(cornerDataProvider), rowHeaderLayer,
columnHeaderLayer);
// Grid
final GridLayer gridLayer = new GridLayer(compositeFreezeLayer, columnHeaderLayer, rowHeaderLayer, cornerLayer);
patientCareResultsComposite.tblPCRResults = new NatTable(patientCareResultsComposite, gridLayer, false);
selectionLayer.addConfiguration(new DefaultSelectionLayerConfiguration());
patientCareResultsComposite.tblPCRResults.addConfiguration(new DefaultNatTableStyleConfiguration());
patientCareResultsComposite.tblPCRResults.addConfiguration(new HeaderMenuConfiguration(patientCareResultsComposite.tblPCRResults));
patientCareResultsComposite.tblPCRResults.addConfiguration(new DefaultFreezeGridBindings());
// ADD BODY MENU CONFIG
patientCareResultsComposite.tblPCRResults.addConfiguration(new BodyMenuConfiguration(patientCareResultsComposite.tblPCRResults, selectionLayer));
patientCareResultsComposite.tblPCRResults.configure();
selectionLayer.setSelectedCell(2, 0);
patientCareResultsComposite.tblPCRResults.doCommand(new FreezeSelectionCommand());
//patientCareResultsComposite.tblPCRResults.updateResize();
selectionLayer.clear();
patientCareResultsComposite.tblPCRResults.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
|
|
|
|
Powered by
FUDForum. Page generated in 0.02928 seconds