所以我是使用sharepoint 2010在Sharepoint中的新手,我需要创建一个高级表单,例如带有两个或更多下拉列表类型或使用javascript的级联下拉列表。
我读到有三种方法可以做到:sharepoint designer,infopath和visual studio。
我认为在视觉工作室中如何做这件事可能会很复杂。
所以我想知道哪一个是这种形式的最佳方式,如果你有一本书或那种东西要学习如何做到这一点。
答案 0 :(得分:1)
与大多数复杂的框架一样,在您开始尝试吊索代码之前,您需要对SharePoint开发进行一些研究。
视频入门: http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx
MSDN Mag入门文章: http://msdn.microsoft.com/en-us/magazine/ee309510.aspx
预订让您入门: http://www.amazon.com/Professional-SharePoint-2010-Development-Programmer/dp/0470529423
答案 1 :(得分:1)
您很幸运,因为InfoPath 2010可以处理级联查找。我以前自己做过。我将假设你有一个数据的层次关系,其中A是B的父亲是C的父亲,例如州 - >县 - >市。我们将使用State - >县 - >城市的例子。这些信息将存储在Office列表中,因为我们需要知道我们办公室的这些内容(是的,这是一个延伸,在这里与我合作)。
首先,因为这也标记为SharePoint,我假设您有州,县和城市列表。县有一个查询字段进入州列表,城市查找县。每个列表都有一个名称字段。没有任何逻辑,我可以选择洛杉矶,但我仍然可以选择阿拉巴马州作为州和奥兰治县作为县。
所以,让它全部工作。首先,在Office列表中的SharePoint中选择“在InfoPath中自定义表单”,这将启动InfoPath Designer并创建默认布局。根据您的心愿,自定义此表单的布局。
现在,要使级联下拉菜单起作用,您需要记下一些事情。每个下拉列表中存储的值是项目的ID。显示的值是您在Office列表上创建查找时选择显示的值。
您需要在顶级(州)设置规则,以便在更改字段时将较低级别(县和城市)设置为空值。重复县;它必须将City设置为空白。这可以确保如果您选择新的州(或县),则会刷新较低级别。
下一步是过滤数据。过滤县下拉列表,以使County上的State列等于表单中的State字段。对City执行重复操作,以使County列等于表单中County下拉列表的值。
您可能需要为County和City创建另一个Web服务,因为默认Web服务可能没有State或County列。如果需要,只需选择所需的字段即可减少传输的数据。为了保存更多数据,您可能还需要对其进行设置,以便在最高级别更改时在较低级别查询数据;这将是改变规则的第一步。顶级(State)仍然需要加载表单加载,但其他人不需要自动加载。这样您就不会一次加载所有数据。如果您有许多项目,则可能需要这样,因为InfoPath默认情况下具有1.5MB的数据加载限制。
如果您需要更多说明,请与我们联系。