我有一个棘手的情况,我正试图确定最好的解决方法。我是一名正在学习SharePoint的VS开发人员,所以当我想要完成的任务可以通过代码和数据库轻松完成时,对我来说有点令人沮丧。
我有三个列表,一个父列表和两个子列表,它们通过查找列链接。客户端实际上想要一个列表中的所有内容,但由于SharePoint列类型限制,我不得不将数据拆分为三个列表,有超过300个字段。客户希望在一个视图中一起查看所有列表,并能够过滤和编辑项目组。
我已经成功创建了一个链接列表的新数据源,并且可以在我的一个页面上显示该数据源进行查看。经过一些研究后,我了解到由于SP使用的Office组件的限制,我无法从此链接视图创建数据表视图。这是有道理的。
业务需求是客户端根据他们从列表A和列表B以及列表C中选择的条件过滤三个列表以获取一组项目,他们进行更新并将更改保存回3个列表。他们更喜欢在数据表视图中执行此操作,因为这模仿了他们当前正在使用的excel电子表格,该网站将替换它。他们可能会使用此功能一次更新1-30个项目,这就是他们更喜欢拖放和复制功能的原因。
我在考虑两个选项:尝试创建某种自定义Web部件,该部件具有编辑模式中所有列的网格视图,可以过滤到其项目并进行更改。然后我将不得不循环遍历字段并以编程方式进行更新。我也在这个网站jQuery.sheet上看到,如果我走这条路线而不是gridview,看起来它可能是一个很好的解决方案。
或者有一个列出列的模态窗口,让用户选择他们想要过滤的内容,然后重定向到显示他们自己的DSV中的三个列表的页面。用户必须在三个单独的视图中进行更新。然后,我会使用工作流程在列表进行更改后同步列表。
我总是试图以编程方式做事,因为我对SP仍然很不熟悉,而且似乎只是遇到了局限而不是它的优势。有没有人试图做类似的事情?或者您对完成此任务的最佳方法有任何建议吗?最佳做法?我感谢所有的想法和评论!仅供参考我也在MS SP论坛上发布了此内容,以便投放更广泛的网络......
谢谢, 塞布丽娜
答案 0 :(得分:1)
在这种情况下,您最好使用自定义解决方案。 webpart是提供自定义界面的绝佳选择。 数据视图webpart将完成这项工作,但如果您对jQuery解决方案感到满意,它将为更好的界面做好准备。
在您的代码中,像处理数据库一样对待列表,并将其与webpart中的逻辑和接口代码隔离开来。