2011-05-27 26 views
0

有没有一种快速简便的方法来制作VB.NET用户界面来管理规范化数据集中的数据?是否有用于管理数据集的VB.NET UI模板?

我知道这是一个非常主观的问题,所以让我解释一下。在我职业生涯早期的短暂时间内,我曾经在Microsoft Access中创建用户界面。我开发了一种简单但非常有效的用户界面设计方法。以下是该方法的一些详细信息:

  • 为每个表格创建一个表单。将 各表格全部组成 所需的全部控件完全管理 表中的一行。使用组合框 外键列。
  • 给用户一种 标准的方式来添加行和删除 行。
  • 使用应用和撤消按钮。
  • 让 用户浏览行与 另一个与一个列表框。
  • 提供 更高效的导航 搜索框和过滤选项。
  • 让 用户双击表示外键列的控件 到 快速从一个表单导航到 另一个表单。
  • 使每个表单的状态 持久(这样用户总是 返回到最后导航点)

简单,对不对?我发现Access鼓励这种方法。它有许多内置的功能,使这种用户界面变得简单。例如,创建组合框来表示外键关系需要大约10秒。

那么,我没有在Access工作了一段时间。然而,几年前,我被雇用在.NET 2.0框架上的VB.NET中编写应用程序。为了快速启动数据管理用户界面,我使用Access体验在Access中编写了一个简单的原型 - 这花了我大约一周的时间。然后我聘请了一名程序员在VB.NET中实现相同的UI。什么样的恶梦!我们一直在为这一实施工作一年,对结果仍然很不满意。我们遇到的一些问题:

  • 应用和撤销按钮不能正常工作。我们无法找到一个事件,告诉我们表单何时“脏”(从而使“应用”和“撤消”相关)。
  • 从行到行以及从表单到表单的导航需要令人惊讶的复杂代码。我觉得我们正在与.NET的绑定功能作斗争,而不是像他们打算使用的方式一样工作。
  • NET控件似乎是越野车。例如,当用户在组合框中键入一个值(而不是从下拉菜单中选择它)时,它不会触发SelectedValueChanged事件。
  • 我们似乎重复了很多信息。例如,DataSet知道两个表中的列之间存在关系,但是当我们编程组合框,绑定,导航功能等时,我们仍然必须有效地重复该关系的细节。
  • 我们仍然没有很好的滤镜和搜索功能。有很多小细节需要解决。 (例如,如果选择一个不包含当前显示行的过滤器,会发生什么情况?)
  • 我们正在编写许多帮助函数和类来简化工作,但我无法弄清楚为什么这种努力没有已经由其他人完成 - 我确信我们正在重新发明轮子。

本身并没有上述的是一个大问题 - 有每一个有效的解决方案。但是,总的来说,这些问题正在使我的UI开发速度比预期慢得多。

在一个理想的世界中,我应该能够创建与我的特定数据模型相关的少量代码(例如,每个表创建与该表中的行相关的布局和逻辑的一个用户控件),然后集成将代码转换为解释数据模型并处理其他所有内容的模板 - 导航,添加和删除,应用和撤消,搜索和过滤等。

因此,我的问题:是否有任何使这种类型的UI开发更容易?

我在网上搜索了“通用形式”,“UI模板”,“数据管理表单”等的各种组合,但是我没有找到关于主题的任何内容。也许我只是不知道流行语。这种类型的UI开发任务是否有特定的名称?

+0

Winform Or Webform? – Shahin 2011-05-27 18:01:38

+0

Windows窗体。 – Todd 2011-05-27 18:06:39

回答

1

为每个表格创建UCs。将网格控件拖放到UC上,并使用VS的向导将其绑定到表数据集。选择允许插入,更新,删除的选项。网格上的每一行都会自动为您添加这些按钮/操作。

+0

通过UI顶部的按钮使用事务来触发或回滚提交。 – SlowBoat 2012-01-01 00:21:45

相关问题