【发布时间】:2011-06-08 00:38:05
【问题描述】:
我正在将 Access 应用程序迁移到 Sharepoint 2010 (Enterprise)。我希望尽可能多地使用 Sharepoint“开箱即用”功能,但我并不反对创建一些 Web 部件。
我正在努力设计此应用程序中的“主”表。该应用程序用于跟踪员工的生产力。每天,大约有 50 位用户访问该应用程序,并且基本上输入了他们当天完成了多少“Widget”。这些“小部件”大约有 30 种类型,并且它们不会经常更改。
该表为每个小部件设计了单独的列。这使得创建报告变得非常容易,因为您所要做的就是从表中选择所有字段并转储结果集。
这种方法的缺点显然是架构是“硬编码”(静态)的。我被要求(由于时间的缘故)尽可能地规范化表格(使用 CustomerID、EmployeeID 等),但将所有“Widget”字段保留在其中。
我建议我们创建一个主从类型关系,用户将添加一个行(可能在 GridView 中),选择他们当天创建的“小部件”(从下拉列表中)并输入他们的数量。他们通常每天只制作 1 - 3 种类型的 Widget。
用户讨厌这种设计,并希望我给他们一个显示所有小部件的数据输入表单,以便他们只需单击框(在他们当天创建的小部件旁边)并输入他们的数量,然后单击保存。
我知道我仍然可以使用主从类型的关系创建这种类型的数据输入表单,但我很确定我不能使用 SP Out of the Box 表单。我可能必须用 GridView 创建一个 Web 部件,然后用所有可能的 Wisdget 填充 GridView,然后让用户在当天制作的每个小部件旁边输入正确的数量。一旦表单被提交回来,我将不得不通过它并找到任何有效数字的数量并为该主记录添加一个(子)详细记录。 (主记录将包含日期、员工、客户等。)“编辑”表单也必须以类似的方式工作。
这是一个非常“丑陋”的解决方案,我正在寻找替代方案。
如果我不能想出一个好的替代方案(并让我的经理相信代码不会太难维护或为项目增加太多开发时间以按时完成),那么我将不得不带来这个丑陋的现有模式及其所有浪费的空间,并在整个应用程序中使用“硬编码”的东西。 (例如,如果我向他们提供 SharePoint 视图以查看创建了多少特定类型的小部件,我将不得不“硬编码”下拉列表中的所有这些值,并“求和”正确/匹配的数据库列。呸。
另一个考虑因素是报告。现在所有的报告都只包含每个小部件的报告列。为了保留这些报告的外观(如果我使用主/详细关系),将需要“更高级的”查询(存储过程)以“columuar”格式构建正确的结果集。 (而且我不确定如何以类似的方式布置数据的 SharePoint 视图。)
让模式保持原样肯定会“更容易”(并在表中保留所有浪费的空间)。我只是讨厌开发一个应用程序,每当我们需要向应用程序添加一个新的“小部件”时,我们必须在几个地方更改应用程序并重新构建。 (虽然,我的经理并不关心这个,他只是想把它推出来,尽快......叹气......)
任何关于如何在 SharePoint 中执行此类应用程序(特别是如何创建数据输入表单和视图)的帮助/建议将不胜感激!
谢恩
【问题讨论】:
-
看看我们的产品MatchPoint。 MatchPoint 是 SharePoint 的应用程序框架。
标签: asp.net sql-server sharepoint-2010