2009-11-06 41 views
0

我正在开发一个应用程序,我想让用户设计一些表单并决定表单中的字段。让用户设计一个表单及其中的字段

一个例子比糟糕的解释要好,所以让我举一个例子,你可以在其中以最终用户的身份定义表单,表单中的字段或通过添加或删除字段来定制现有表单。

有没有一些标准的方法来做到这一点?任何人都知道要使用的组件?或者以类似的功能工作?

任何表达将不胜感激。

回答

3

这不是一件小事,有成千上万的方法来完成这个任务。这取决于很多因素 - 例如你的用户能够“发布”他们创建的表单,用户能否更新他们的表单(带来表单和数据版本管理问题),你会提供一个可视化设计师,你会提供一个声明性设计语言,你会如何想要将填充的数据存储到表单中,是用户从有限的可用字段集合中选择的字段,还是可以发明全新的字段等。

在一个完整的电子表单包中,实质上是创建一个用于表单创建的可视化IDE以及一个生成用户表单的可填充运行时实现的“编译器”。为了使系统有用,您还必须包括管理功能(搜索,归档,导入,导出等)。

如果你不想自己解决这些问题,那里有很多eforms包。成本从免费到数万美元不等。

-1

在我当前的项目中,我们让用户通过存储每个用户的配置来自定义他们希望在搜索表单和结果网格中看到的字段。例如,用户A想要在表单X上看到P,Q,R,每个控件都有一个Id,配置值由Id存储。可能不是很优雅,但适用于较小的定制。

+0

我在搜索的是让用户添加全新的字段,不仅从预定义的列表中进行选择。 – Doliveras 2009-11-06 16:23:40

0

我建议你创建一个表单布局生成器,它需要输入要显示的列,以及编辑它们的控件的类型。然后应该按照正式的方式安排这些列(利用流动面板或类似的东西)。在数据库中动态创建列很容易完成。然后用户可以将他们想要编辑的列分类到网格或类似的东西中,然后布局引擎从用户分配的列创建表单。当然,限制相比,完全免费的GUI设计像Visual Studio本身posibilities,但它也会让形式看起来ordely,并很好地对齐。所以总的来说,这是一个很好的折衷方案,并且比完整的gui设计器更容易实现。

1

这是一个非常复杂的问题,我会首先将其简化为一个简单的使用案例,然后在可能的设计方法。

使用案例:

  • 用户想要使用 GUI设计的形式。输入
  • 选项(文本字段,选择器,收音机 按钮)可以输入许多字段(例如姓名,电子邮件, 年龄)。输出是您的 应用程序的XML表单或对象结构。
  • 用户选择保存的XML形式生成新的表格对象或使用GUI来选择新的窗体部件,以从添加到一个,提供所述表格名称和字段类型,并且如果选择的有效输入列表

设计:

  • 提供一个标准组输入对象(文本字段中,选择列表等)为对象。
  • 提供一个基础从输入对象的容器对象,到输入对象的输入标签映射。
  • 提供一个独立于浏览,处理表单对象的呈现(如MVC的视图部分)

我想开始在这个最好的办法是建立了一块软件,解析对象标准的HTML表单,并在您的应用程序中创建和对象。然后通过GUI显示。一旦你可以解析HTML表单,你知道你有必要的字段和显示它们的能力,现在你只需要创建一个GUI来允许用户添加元素到表单对象。

所有这些都说了,这不是一个简单的任务。有很多插件,很多插件,以及这类功能中的很多东西。

-1

正如大家所说,这是非常困难的,所以让我们看看标准。组成表单的标准是HTML。所以你:

让用户使用html或任何HTML设计器创建表单/字段。

在您的应用程序中嵌入IE来呈现html。

旋某种自己的机器上的微小的网络服务器接受来自该表格只有这种形式要求(我认为一些在ASP MVC的东西会帮助这里)

当他们提交表单解析请求发布以查看字段和值。

相关问题