我听说scout eclipse可以在数据库表属性中创建表页 - AbstractPageWithTable
,而无需为其手动添加列。
这是真的,如果有人知道该怎么做吗?
答案 0 :(得分:1)
我不确定我是否理解你的问题。我可以这样改写:
如何动态添加列(无需将其定义为内部类)?
这里有关于童军论坛的一些指示:
我个人认为,侦察理念是使用内部类定义声明性UI。我不确定我会建议有人使用这种动态方法......
从您的评论中,我现在理解您的问题:
鉴于现有数据库,是否可以生成应用程序的某些元素,如TablePages?
恐怕目前还没有开源工具这样做。在我们公司,我们有一些开发人员,有一系列脚本来做你所描述的事情。
有一个名为SAML(Scout应用程序建模语言)的项目,其中用DSL描述用户界面并生成Scout实体。这更像是为Kepler版本的scout(3.9)构建的原型。目前还没有积极的发展。
我还创建了一些建筑师,你可以这样做:
SimpleApplicationBuilder app = SimpleApplicationBuilder.create("myapp", "simple.myapp", "");
IScoutFormBuilder formBuilder = ScoutBuilders.form("MyFirstForm", "simple.myapp.client.ui.forms", "simple.myapp.shared.services")
.propTitle(app.nlsKey("MyFormTitle"))
.propSubTitle(app.nlsKey("MyFormSubTitle"))
.propAskIfNeedSave(false)
.propDisplayHint(DisplayHint.DISPLAY_HINT_VIEW)
.addField(ScoutBuilders.groupBox("ContentGroupBox")
.propBorderVisible(false)
.addField(ScoutBuilders.stringField("MyStringField")
.propLabel(app.nlsKey("MyStringLabel"))
)
.addField(ScoutBuilders.tableField("MyTableField")
.propTableStatusVisible(true)
.addTable(ScoutBuilders.table("MyTable")
.propAutoResizeColumns(true)
.addColumn(ScoutBuilders.integerColumn("IdComlum")
.propDisplayable(false)
)
.addColumn(ScoutBuilders.stringColumn("NameComlum")
.propHeaderText(app.nlsKey("Name"))
)
.addColumn(ScoutBuilders.integerColumn("AgeComlum")
.propHeaderText(app.nlsKey("Age"))
)
)
)
);
app.addForm(formBuilder);
我们的想法是拥有应用程序源代码的Java模型。它应该允许能够进行修改或添加新实体,然后生成或修改代码。我的工具暂时不是开源的(它还没有完成,我没有足够的时间来处理它)。
我明确地认为Eclipse Scout的scaffolding会很棒。我已经发布了硕士论文提案,与学生一起讨论这个主题。我希望我们能够继续前进。
这里有Eclipse Scout论坛中的一些指示:
如果您对这些主题感兴趣,请与我们联系。