Vaadin 14应用程序中的多个网格头行出现问题,类路径扫描被禁用



当我在Vaadin 14应用程序中使用appendHeaderRow()prependHeaderRow()向网格添加一个或多个额外的标题行时,网格仍然只显示一个标题行。我几乎可以肯定,我理解为什么会发生这种情况,但解决方案尚不清楚。

在我的项目中,我禁用了类路径扫描,并手动实例化和调用Vaadin使用的初始化程序,如本例所述。我有一个实现ServletContextListener并调用初始化器的类,就像示例中的VaadinInitializer类一样。

为了使标题行正确显示,我认为我必须将ColumnGroup.class传递给DevModeInitializer,因为当我向标题添加额外的行时,它与我在网格的HTML中看到的<vaadin-grid-column-group>元素相对应。为了使它们正确显示,我不得不对许多其他Vaadin类执行此操作,包括GridGridSelectionColumn。问题是,与其他类不同,ColumnGroup类不是公共的,所以我无法导入它并将其传递给初始值设定项。

有人知道有什么解决办法吗?或者不可能让多个网格头行正确地使用我的项目配置吗?

在如何避免类路径扫描的整个想法中,无法引用非公共类似乎是一个遗漏。

我相信您可以通过创建一个具有与ColumnGroup相同的资源注释的伪组件类来解决这个问题,然后将该类与初始值设定项一起使用。这应该有效,因为Vaadin的这一部分只关心找到了哪些注释,但在哪里找到它们并不重要。

最新更新