如何创建动态拖放模板?
Posted
技术标签:
【中文标题】如何创建动态拖放模板?【英文标题】:How to create dynamic drag and drop templates? 【发布时间】:2015-09-10 05:42:36 【问题描述】:我需要开发一种功能,用户可以在其中动态定义模板(标签、文本框、标签、行、列、上述元素之间的父子关系等)。这些元素(例如组合框)可能绑定到不同的数据库表。
例如,用户可以为特定用例 U1 定义模板 T1。但此模板不仅限于 U1。它可能需要在另一个用例 U2 中使用,它是更大模板的子部分。
定义模板后,其他用户可以加载模板(html 表单)并向其中输入数据。在稍后阶段,我需要重用这些数据和模板来生成 PDF 报告。由于 PDF 报告有时可能需要与 HTML 表单不同的布局,因此我还需要元素之间的父子关系。
到目前为止,我们正在通过从用户界面生成 XML 来实现,用户可以在其中从下拉列表中选择元素并指定属性。在运行时,这些 XML 使用 XSLT 转换为 HTML。另一个 XSLT 用于生成 PDF。该方案的局限性在于,合并任何用户请求(例如多列、将表格添加到表单等)都非常繁琐。
我想知道其他人是如何做到这一点的,是否有 API/库可以做到这一点? 我看过 HTML5 和 JQuery 拖放功能,但它需要我从头开始添加所有内容(例如动态添加列、行等)
【问题讨论】:
【参考方案1】:创建动态表单的最佳方法是使用 Angular js。 非常好的前端开发框架
这里是工作链接
angular js form
对不起,我只给出了示例表单动态表单这里是一些拖放示例
Angular drag and drop 1
Angular drag and drop 2
http://angular-js.in/dragular/
我希望这会有所帮助。
【讨论】:
谢谢。看了第一个例子。觉得合适。但是除了项目(在我的情况下是标签)之外,是否可以为 TextBox、combos 等扩展相同的内容 是的,你绝对可以这样做,所有的输入字段都可以通过它进行。使用angular可以轻松制作动态拖放表单。【参考方案2】:有一些用于处理数据库的库,例如 JDAL、jOOQ 和许多其他库。
但是,对于创建表单和报告,Oracle 确实有其Oracle Forms and Reports 套件。还有一些替代品,例如OpenXava,也可以做这些事情(而且可能更好,我使用过 10g/11,有时会很痛苦)。如果您对使用 XML 和其他标记语言更感兴趣,您可能会喜欢FOXopen。
所有这些都可以输出为 PDF 和其他类型的文档。
在我工作的地方,我们使用 Oracle Forms 和内部编写的程序来制作我们的报告。
【讨论】:
以上是关于如何创建动态拖放模板?的主要内容,如果未能解决你的问题,请参考以下文章