我在sharepoint中有一个列表,它维护特定的月份OnCall列表,我们在sql server中维护员工目录。我的要求是从sql server获取完整数据并在sharepoint中显示它并与sharepoint list进行比较,并为该特定月份的On Call员工显示小图标。任何人都可以建议我实施这一点。
提前致谢。
更新:我已经完成了必须连接到sqlserver数据库并获取员工信息的部分。为此,我们使用第三方Web部件连接到sql server并从表中提取数据。现在我必须在员工姓名上显示某种形象,以表明他在那个星期待命。我们将创建自定义列表以维护正在通话的人员列表。任何人都可以告诉我如何实现这一目标。
答案 0 :(得分:1)
编写一个自定义webpart,使用ADO.NET使用sharepoint对象模型和SQL Server从列表中提取数据并进行上述比较。
如果您正在寻找开箱即用的产品,我恐怕在这里提供的信息太少,无法分析它是否可行。
答案 1 :(得分:1)
如果您拥有SharePoint Enterprise版本,则可以查看Business Data Catalog。这将允许您将列绑定到外部数据源。这可能会为您提供您正在寻找的功能。
如果您没有企业版功能,您是否有权部署WSP包和自定义代码?
您必须编写自己的外部数据源数据访问权限。您可以选择从外部数据源获取数据并填充SharePoint列表或创建按需提取外部数据的自定义视图。
你必须提出同步策略。意思是,外部SQL数据源中的数据是静态的,参考信息不需要根据用户在SharePoint中的行为进行更新吗?这似乎是基于您的问题的情况。如果确实需要更新外部数据源,则必须挂钩on save事件(因此可能是监听ItemAdding的custom event handler)以更新数据,验证并选择取消操作错误信息。
如果您无法部署WSP包/ DLL ,则可以查看jQuery SharePoint library。这将允许您使用jQuery与列表进行交互。如果您还需要从可从SharePoint环境访问的外部数据源访问数据的WCF或Web Service包装器,则可以将hack与解决方案结合使用。
要完成此操作,您需要在需要自定义数据访问的页面上放置内容编辑器Web部件。在那里,您将编写代码以引用jQuery javascript库和jQuery SharePoint库。代码必须调用您的外部数据服务并进行所需的任何更新。
这是完成您想要的最不可靠的方法,因为它完全基于页面,可以通过简单地禁用脚本或编辑CEWP或完全删除它来打破。
如果您无权放置CEWP或任何其他解决方案,那么您根本就没有选择。
答案 2 :(得分:0)
现在使用第三方webpart提取所有数据并将其保存到自定义列表中相对容易。我建议您不仅要创建自定义列表,还要为此列表创建内容类型。看一下SharPoint MVP关于使用Content Types
创建自定义列表的帖子