aviit
aviit

Reputation: 2109

How can to show the row number in Nebula NatTable

I can show a CSV content to a NatTable using those code:

IDataProvider bodyDataProvider = ...;

DataLayer bodyDataLayer = new DataLayer(bodyDataProvider);
SelectionLayer selectionLayer = new SelectionLayer(bodyDataLayer);
ViewportLayer viewportLayer = new ViewportLayer(selectionLayer);
viewportLayer.setRegionName(GridRegion.BODY);

natTable.setLayer(viewportLayer);

How can we show the row number? I tried to used GridLayer but there are no column header. Please help!

Upvotes: 0

Views: 187

Answers (1)

aviit
aviit

Reputation: 2109

I resolved this. I used CompositeLayer:

IDataProvider rowHeaderDataProvider = new DefaultRowHeaderDataProvider(bodyDataProvider);
DataLayer rowHeaderDataLayer = new DataLayer(rowHeaderDataProvider);
ILayer rowHeaderLayer = new RowHeaderLayer(
                    rowHeaderDataLayer,
                    viewportLayer,
                    selectionLayer);
CompositeLayer compositeLayer = new CompositeLayer(2, 1);
compositeLayer.setChildLayer(GridRegion.ROW_HEADER, rowHeaderLayer, 0, 0);
compositeLayer.setChildLayer(GridRegion.BODY, viewportLayer, 1, 0);
natTable.setLayer(compositeLayer);

Upvotes: 0

Related Questions