当我使用appendHeaderRow()
时或prependHeaderRow()
要向我的 Vaadin 14 应用程序中的网格添加一个或多个附加标题行,网格仍然只显示一个标题行。我几乎可以肯定我明白为什么会发生这种情况,但解决方案尚不清楚。
在我的项目中,我禁用了类路径扫描,并手动实例化和调用 Vaadin 使用的初始化程序,如 this example 中所述。 。我有一个实现 ServletContextListener
的类并调用初始化器,就像 VaadinInitializer
一样示例中的类。
为了使标题行正确显示,我相信我必须传递 ColumnGroup.class
到DevModeInitializer
,因为它对应于 <vaadin-grid-column-group>
当我向标题添加附加行时,我在网格的 HTML 中看到的元素。我必须对许多其他 Vaadin 类执行此操作,才能使它们正确显示,包括 Grid
和GridSelectionColumn
。问题是,与这些其他类不同,ColumnGroup
类不是公共(public)的,因此我无法导入它并将其传递给初始值设定项。
有谁知道任何解决方法,或者是否无法让多个网格标题行与我的项目配置一起正常工作?
最佳答案
无法引用非公共(public)类似乎是如何避免类路径扫描的整个想法中的一个遗漏。
我相信您可以通过创建一个具有与 ColumnGroup 相同的资源注释的虚拟组件类来解决此问题,然后将该类与初始值设定项一起使用。这应该可行,因为 Vaadin 的这一部分只关心找到哪些注释,但在哪里找到它们并不重要。
关于vaadin - 禁用类路径扫描的 Vaadin 14 应用程序中存在多个网格标题行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68400058/