【问题标题】:Serenity- add values from a form into 2 tablesSerenity-将表单中的值添加到 2 个表中
【发布时间】:2016-06-08 11:18:50
【问题描述】:

几天前我开始使用 Serenity,但遇到了一个小问题。

我有一个由 2 个表格组成的网格,我想在这些表格中添加来自该网格的值。

我知道我不能直接从视图中添加,我需要创建一些函数来将这些项目添加到这些表中的正确位置。

这是一个架构示例:

我创建了一个视图,因此网格将显示两个表中的列。

这是一个网格示例:

如果您想快速构建应用程序,Serenity 是一个很好的工具,但如果您想修改生成的代码中的某些内容,则它对用户不太友好。

我尝试从 StackOverflow 添加一些功能,但这会修改​​程序的整个功能,并且这种类型的请求只使用一次。我不能修改默认的创建函数,因为对于其余的表,这个函数将毫无用处。

如果有人尝试使用 Serenity 并有想法,请给出提示,以便我解决此问题。

谢谢!

【问题讨论】:

  • 我认为我没有完全理解这个问题。您是否尝试编辑列表屏幕上的数据?
  • 谢谢。我解决了这个问题,但并非一切都很好。问题是您无法使用此框架从视图中插入 2 个表格。如果有人需要,您需要使用 getDialogType() 并在表单中添加另一个表。
  • 是的。这个框架对数据库和用户界面做了一些强有力的假设。如果您可以将您的应用程序硬塞进这些假设中,它可以让您非常高效,但是当您需要偏离时它会减慢您的速度。

标签: c# mysql sql model-view-controller cucumber-serenity


【解决方案1】:

宁静很棒,我感谢这个人。对于那些可能遇到此线程的人,请不要放弃。检查当前文档。我有几点可能对追随者有所帮助。我有一个适当的数据库,其中包含我希望用来提高性能的外键和存储过程。我还将模型类映射到代表我希望使用的对象的 procs,这些对象通常包括在 procs 中连接的多个表。

我发现 Serenity 在实体行类中包含连接的表列,但不在列类中,并且行类属性具有我删除的 Expression 标签的属性。我相信我看到了作者的评论,他为此目的使用了外键声明。

在我的情况下,我能够向列类添加一个属性。

在端点类中,我将 proc 结果检索到域对象中,然后填充行类实例列表并将该列表添加到方法返回对象中。

这个过程产生了一个正确填充的网格对象。

如果我知道这是如何开始的,最好直接填充行类对象列表。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    Serenity 允许一次更新两个表,在客户对话框中甚至有一个示例。在底部,客户详细信息在单独的表格中列出并更新。

    Serenity 不会对您的 UI 或表格做出假设,这与 Mark Ewer 所说的不同。我在许多不同的遗留应用程序和数据库上使用 Serenity,因此它必须适应任何数据库结构。

    当然,因为代码生成器处理简单的情况,生成简单表格的 UI 更容易。对于更复杂的情况,您应该知道在哪里注入插件。这就是示例、文档和 GitHub 问题的来源。

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      相关资源
      最近更新 更多