NatTabel sort failing [message #1469186] |
Tue, 11 November 2014 06:29  |
Eclipse User |
|
|
|
I have implemented sort thorough command handler.
The default sort configuration has been appiled.
My NatTabel has mor than 25+rows.
Sorting works for intial 8 rows but after that ,the sort handler crashes :
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at ca.odell.glazedlists.gui.AbstractTableComparatorChooser.getComparatorsForColumn(AbstractTableComparatorChooser.java:178)
at org.eclipse.nebula.widgets.nattable.extension.glazedlists.NatTableComparatorChooser.sort(NatTableComparatorChooser.java:33)
at org.eclipse.nebula.widgets.nattable.extension.glazedlists.GlazedListsSortModel.sort(GlazedListsSortModel.java:91)
at org.eclipse.nebula.widgets.nattable.sort.command.SortCommandHandler$1.run(SortCommandHandler.java:43)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.nebula.widgets.nattable.sort.command.SortCommandHandler.doCommand(SortCommandHandler.java:46)
at org.eclipse.nebula.widgets.nattable.sort.command.SortCommandHandler.doCommand(SortCommandHandler.java:1)
at org.eclipse.nebula.widgets.nattable.command.AbstractLayerCommandHandler.doCommand(AbstractLayerCommandHandler.java:19)
at org.eclipse.nebula.widgets.nattable.layer.AbstractLayer.doCommand(AbstractLayer.java:162)
at org.eclipse.nebula.widgets.nattable.layer.CompositeLayer.doCommand(CompositeLayer.java:132)
at org.eclipse.nebula.widgets.nattable.grid.layer.GridLayer.doCommand(GridLayer.java:178)
at org.eclipse.nebula.widgets.nattable.NatTable.doCommand(NatTable.java:626)
at com.cat.rac.bnu.nattable.TcNatTableMenuItemProvider$5$1.handleEvent(TcNatTableMenuItemProvider.java:195)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
|
|
|
|
|
|
Re: NatTabel sort failing [message #1472121 is a reply to message #1470854] |
Thu, 13 November 2014 11:11   |
Eclipse User |
|
|
|
I have added default Sort ConfigurationcoverSheetNatTable.addConfiguration(new DefaultSortConfiguration());
Created sortModel
sortModel = new GlazedListsSortModel(getSortedList(), columnPropertyAccessor, configRegistry, columnGroupHeaderLayer);
this.sortHeaderLayer = new SortHeaderLayer(columnGroupHeaderLayer,
sortModel, false)
I am implementing the sort through command ,which is available on column header
public void registerSortCommandHandler(final ISortModel sortModel, final SortHeaderLayer sortHeaderLayer)
{
registerCommandHandler(new SortCommandHandler(sortModel,sortHeaderLayer)
}
Added menu item for sort
public void addMenuItem(final NatTable natTable, final Menu popUpMenu)
{
MenuItem multiEditMenuItem = new MenuItem(popUpMenu, SWT.NONE);
multiEditMenuItem.setText("Sort\t");
multiEditMenuItem.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event arg0)
{
// natTable.doCommand(new TCNatTablePasteDataCommand("\t", System
// .getProperty("line.separator")));
NatEventData obj = (NatEventData) popUpMenu.getData();
final int colIndex = natTable.getColumnIndexByPosition(obj.getColumnPosition());
natTable.doCommand(new SortColumnCommand(natTable,colIndex,false));
//natTable.refresh();
}
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04794 seconds