|
|
|
|
Re: Vertical scroll bar is appearing when filter applied wrt base list with empty rows [message #1855957 is a reply to message #1855953] |
Fri, 11 November 2022 15:14 |
Indana Amaresh Messages: 15 Registered: August 2022 |
Junior Member |
|
|
Hi Dirk,
Sorry for not providing the sufficient information. As you mentioned i am passing everywhere the filterlist only. Now i found the reason.
If I define columnGroupExpandCollapseLayer and rowGroupExpandCollapseLayer before glazedListsEventLayer, then i am getting these empty rows.
After looking some nattable exmaples and defined these layers after glazedListsEventLayer, then its working fine.
Thank you for your response and support.
Please find below my bodylayerstack class:
class BodyLayerStack extends AbstractLayerTransform {
private final FilterList<TableLine> filterList;
private final ListDataProvider<TableLine> bodyDataProvider;
private final SelectionLayer selectionLayer;
private final ViewportLayer viewportLayer;
private final DataLayer bodyDataLayer;
private final IColumnPropertyAccessor columnPropertyAccessor;
private final SortedList<TableLine> sortedList;
private ColumnGroupExpandCollapseLayer columnGroupExpandCollapseLayer;
private ColumnGroupModel columnGroupModel;
private RowGroupExpandCollapseLayer rowGroupExpandCollapseLayer;
public BodyLayerStack(List<TableLine> values, List<String> finalRows, IColumnPropertyAccessor columnPropertyAccessor, ConfigRegistry configRegistry) {
this.columnPropertyAccessor = columnPropertyAccessor;
EventList eventList = GlazedLists.eventList(values);
TransformedList rowObjectsGlazedList = GlazedLists.threadSafeList(eventList);
sortedList = new SortedList<TableLine>(rowObjectsGlazedList, null);
this.filterList = new FilterList<TableLine>(sortedList);
this.bodyDataProvider = new ListDataProvider<TableLine>(this.filterList, this.columnPropertyAccessor);
bodyDataLayer = new DataLayer(getBodyDataProvider());
bodyDataLayer.setConfigLabelAccumulator(new ColumnLabelAccumulator());
HoverLayer hoverLayer = new HoverLayer(bodyDataLayer, true);
hoverLayer.addConfiguration(new SimpleHoverStylingBindings(hoverLayer));
// layer for event handling of GlazedLists and PropertyChanges
GlazedListsEventLayer glazedListsEventLayer = new GlazedListsEventLayer<>(hoverLayer, this.filterList);
columnGroupExpandCollapseLayer = new ColumnGroupExpandCollapseLayer(glazedListsEventLayer);
rowGroupExpandCollapseLayer = new RowGroupExpandCollapseLayer(columnGroupExpandCollapseLayer);
this.selectionLayer = new SelectionLayer(rowGroupExpandCollapseLayer);
viewportLayer = new ViewportLayer(getSelectionLayer());
setUnderlyingLayer(viewportLayer);
}
public SortedList<TableLine> getSortedList() {
return sortedList;
}
public SelectionLayer getSelectionLayer() {
return this.selectionLayer;
}
public FilterList<TableLine> getFilterList() {
return this.filterList;
}
public ListDataProvider<TableLine> getBodyDataProvider() {
return this.bodyDataProvider;
}
public ViewportLayer getViewportLayer() {
return this.viewportLayer;
}
public IColumnPropertyAccessor getColumnPropertyAccessor() {
return this.columnPropertyAccessor;
}
public DataLayer getBodyDataLayer() {
return this.bodyDataLayer;
}
public ColumnGroupExpandCollapseLayer getColumnGroupExpandCollapseLayer() {
return columnGroupExpandCollapseLayer;
}
}
|
|
|
Powered by
FUDForum. Page generated in 0.03415 seconds