This is probably a simple problem but my NatTable is not highlighting selected row when I click on the row header. I also want to enable multi-row selection. What am I missing.
I am creating my own GlazedList where each row is a HistoryItem:
EventList<HistoryItem> eventList = GlazedLists.eventList(model.getHistoryList());
FilterList<HistoryItem> filterList = new FilterList<HistoryItem>(eventList);
SortedList<HistoryItem> sortedList = new SortedList<HistoryItem> (filterList, null);
IColumnPropertyAccessor<HistoryItem> columnPropertyAccessor = new
ReflectiveColumnPropertyAccessor<HistoryItem>(propertyNames);
ListDataProvider<HistoryItem> bodyDataProvider = new ListDataProvider<HistoryItem>
(sortedList, columnPropertyAccessor);
DataLayer bodyDataLayer = new DataLayer(bodyDataProvider);
GlazedListsEventLayer<HistoryItem> glazedListsEventLayer = new
GlazedListsEventLayer<HistoryItem>(bodyDataLayer, eventList);
DefaultBodyLayerStack bodyLayerStack = new
DefaultBodyLayerStack(glazedListsEventLayer);
SelectionLayer selectionLayer = bodyLayerStack.getSelectionLayer();
...
Here is my RowHeaderLayer:
IDataProvider rowHeaderDataProvider = new
DefaultRowHeaderDataProvider(bodyDataProvider);
IUniqueIndexLayer rowHeaderDataLayer = new
DefaultRowHeaderDataLayer(rowHeaderDataProvider);
RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(rowHeaderDataLayer,
bodyDataLayer, selectionLayer);
Well this looks reasonable. At least the parts you posted. If it doesn't work, than maybe you forgot to link your layers correctly to the GridLayer you are using?
Have a look at the DefaultGridLayer. There the init method does the similar thing you are trying to do. Maybe it is just a typo in setting the references.