2017-04-27 54 views
0

我在Vaadin Designer中发现网格布局非常麻烦。Vaadin Designer:网格布局不可用?

问:有人在那里使用它吗?你有给我一些提示吗?

背景:我正在将一个应用程序从ASP.NET移植到Vaadin。有很多窗体在Visual Studio中通过HTML表格布局(请参见截图)。

我面临着一些问题:

  • 在网格布局中移动标签和字段后,我突然得到合并单元格/行跨度的设计来源,如<column rowspan="7"></column>,这种情况发生的时候,它的游戏结束
  • 我不能插入或删除行或列
  • rowspan的/合并单元格的属性是不可见的在设计属性
  • 我不能选择多个部件(以及因此在散装不会改变的属性,如例如风格,宽度,高度等)
  • 我无法定义的列宽和行高

enter image description here

+0

在发行说明页,行跨度和列跨度都在** **限制部分列出。你也可以在这里查看其他的限制[链接](https://vaadin.com/designer/release-notes) – qtdzz

+0

我试着用Vaadin 7/RHEL 6设计设计师,但它并不是太令人愉快。设计html的工作,vaadin可以毫无问题地使用它们,然后我尝试着手写它们。由于我决定使用Grid组件,并没有真正了解如何定义所有的东西,所以我放弃了设计器,并重新用Java定义视图。我的观点是:文档当时不容易找到,有用和巩固,但是一旦html设计文档由他们编写,技术就可以工作。 –

回答

4

这更是一个关于Vaadin框架和布局问题。您可以从Docs站点https://vaadin.com/docs/-/part/framework/layout/layout-overview.html中找到有关可用布局的一般信息。我认为GridLayout不是创建图像中呈现的布局类型的最佳选择。相反,我会使用FormLayout,VerticalLayout和Horizo​​ntalLayout的组合。这是实现灵活布局的最简单方法。如果你想要更多的控制,你可以开始将VL和HL切换到CssLayouts。

Vaadin Designer中的GridLayout编辑支持不幸并不支持GridLayout的所有可能功能。我会建议在声明中做详细的调整,或者使用Java。

我很快掀起了一个与上述类似布局的例子:https://gist.github.com/ripla/d06d35249ffc4859e7b280425c1e92eb。我建议您也检查另一种方法的ResponsiveForm模板。

最后,如果您有任何错误报告或功能请求,请提交问题https://github.com/vaadin/designer-issues/issues

+0

谢谢。我看看你的例子。问题是描述字段的左边缘不与FormLayout的字段对齐。 – Zalumon

-2

最后我决定用JFormDesigner作为我的主视觉设计,因为它是非常快速和稳定,并能处理大/复杂布局毫不费力。 JGoodies FormLayout很好地映射到Vaadin GridLayout。

JFormDesigner从设计中生成一个Java类。我写了一个使用该类生成Vaadin Designer html的生成器。例如,JLabel映射到Vaadin标签等。所有面板都使用FormLayout,如果它们只包含一行或一列,我将它们映射到水平/垂直布局。多列/行布局转换为网格布局,实际上到目前为止效果很好。

Vaadin Designer无法再打开大文件,但应用程序可以愉快地解析并显示它们。

enter image description here