在本文中,将探讨如何使用表单设计器(Forms Designer)创建一个专门用于打印的表单视图。将使用版本2.7.3,该版本中引入了链接和按钮控件以及用于在表单之间切换的额外JavaScript函数。
首先,将设计一个带有手风琴视图的显示表单。然后,为了打印目的,将创建一个完全不同的显示表单,其中所有字段都是可见的,并且一个接一个地排列。为了实现这个目的,将从默认显示表单中添加一个链接来导航到这个打印表单。
首先,打开表单设计器并添加一组新的表单。将这个组命名为“Print”,并定义规则为'false',这意味着默认情况下不会显示这个表单。
接下来,切换到显示表单并设计它,不使用手风琴。只是将字段一个接一个地放置,并用标题分隔它们。在这个表单的顶部放置一个'PRINT'链接,并设置其OnClick选项如下:
JavaScript
window.print();
return false;
可以在按钮和超链接控件的OnClick选项中定义任何JavaScript。当用户点击链接或按钮时,会执行此脚本。在例子中,当用户点击'PRINT'链接时,当前页面将被打印。
接下来,需要在带有手风琴的默认显示表单中放置一个链接,以打开打印显示表单。
复制打印表单的文件名到剪贴板。可以在表单设计器窗口的左下角找到它。
然后,切换到'AllUsers'显示表单,并在其顶部放置一个'PRINT FORM'链接。在OnClick选项中,放置以下脚本:
JavaScript
return fd.openFormInDialog(
'fd_Contact_ad98a766-7fd1-499d-a492-36a0826d285e_Display.aspx'
);
Forms Designer的JS-Framework中的openFormInDialog()函数用于在对话框中打开指定的表单。这个功能是在版本2.7.3中添加的。还添加了几个其他有用的函数:
openForm()函数用于在当前窗口中打开指定的表单,backToPrevForm()函数用于重定向到之前打开的表单。例如,如果想在当前窗口中打开打印表单,而不是对话框,可以在默认表单中使用openForm()函数,并在打印表单中放置一个'Back'链接,调用backToPrevForm()函数,以允许用户返回到默认显示表单。
上述示例在SharePoint2010/2013本地部署中完美运行。但目前,Office 365中的SharePoint Online不支持组功能。这里将展示一个变通方法。