【问题标题】:Sorting and filtering in Nattable with Column Grouping使用列分组在 Nattable 中进行排序和过滤
【发布时间】:2017-11-02 14:48:44
【问题描述】:

背景:

我参考了 NatTable 示例,用于将排序和过滤以及列分组功能集成到单个表中。它没有按预期工作。如果我尝试单独添加排序和过滤功能,它就像一个魅力,但两者与列分组的集成不起作用。根据here 的建议,我尝试将所需的配置添加到 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 表中?

【问题讨论】:

  • 是的,这很好用。 NatTable 示例应用程序的集成部分应该有一个示例。由于您没有解释什么不起作用,所以我无法以任何方式帮助您。我只能说它有效,并且我多次实施。
  • @Dirk Fauth :感谢您的回复... 8 已经完成了集成部分中的示例,在该示例中,过滤和分组正在工作,但排序不起作用。解决问题。我需要在一个表中实现所有这三个。
  • 该示例不包含SingleClickSortConfiguration。所以点击列标题时需要按ALT键触发排序。
  • @Dirk Fauth 是的,现在我明白了。我知道我需要在单击列标题时使用 ALT 来调用排序功能。感谢您的及时帮助!
  • 仅当您不添加 SingleClickSortConfiguration 时。如果您将该配置添加到您的 NatTable,则只需单击一下即可进行排序。我在上面提到的例子中进行了测试。

标签: java eclipse-plugin swt nattable


【解决方案1】:

查看 NatTable 示例应用程序

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多