使用列分组在 Nattable 中进行排序和过滤

Sorting and filtering in Nattable with Column Grouping

背景:

我参考了 NatTable 示例,将排序和过滤以及列分组功能集成到一个 table 中。它没有按预期工作。如果我尝试单独添加排序和过滤功能,它就像一个魅力,但两者与列分组的集成不起作用。根据建议,我已尝试将所需的配置添加到 nattable,但仍然不起作用。

代码段:

  /**
   * Sorting Layer
   */
  GridLayer gridLayer = new GridLayer(viewportLayer,columnGroupHeaderLayer, rowHeaderLayer, cornerLayer);
  /**
   * Since I am able to add only single grid layer to nat table
   */
  this.natTable = new NatTable(parent, gridLayer, false);
   /**
   * FilteringLayer
   */
  this.grid = new FilterableGridLayer(this.eventList, propertyNames, propertyToLabelMap, configRegistry);              
  this.natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
  this.natTable.addConfiguration(new SingleClickSortConfiguration());
  this.natTable.addConfiguration(new FilterRowConfiguration());
  this.natTable.setConfigRegistry(configRegistry);
  this.natTable.configure();

有没有办法将排序和过滤网格层与列分组一起添加到一个 nat table 中?

查看 NatTable 示例应用程序

NatTable 示例 -> 教程示例 -> 集成 -> SortableFilterableColumnGroupExample

此示例准确显示了请求的功能组合。请注意,此示例不包括 SingleClickSortConfiguration。这意味着只有在单击列 header 的同时按住 ALT 键才会触发排序。按ALT + SHIFT并单击将支持最多三级排序。

如果要单击排序,需要在调用NatTable#configure()前额外添加SingleClickSortConfiguration

this.natTable.addConfiguration(new SingleClickSortConfiguration());