微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

禁用类路径扫描的 Vaadin 14 应用程序中存在多个网格标题行的问题

如何解决禁用类路径扫描的 Vaadin 14 应用程序中存在多个网格标题行的问题

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

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

为了让标题行正确显示,我相信我必须将 ColumnGroup.class 传递给 DevModeInitializer,因为它与我在网格中看到的 <vaadin-grid-column-group> 元素相对应当我向标题添加附加行时的 HTML。为了让它们正确显示,我不得不对许多其他 Vaadin 类执行此操作,包括 GridGridSelectionColumn。问题是,与这些其他类不同,ColumnGroup 类不是公开的,因此我无法导入它并将其传递给初始化程序。

有没有人知道任何解决方法,或者是否不可能让多个网格标题行与我的项目配置一起正常工作?

解决方法

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

我相信您可以通过创建一个与 ColumnGroup 具有相同资源注释的虚拟组件类来解决这个问题,然后将该类与初始化程序一起使用。这应该可以工作,因为 Vaadin 的这一部分只关心找到了哪些注释,而不管它们在哪里找到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。