SP列表是一个简单的项目列表,项目由一个或更多栏目组成。与电子数据表或数据库表类似。最简单的形式,SP列表只包含标题栏目,即自定义列表。可以选中自定义列表,添加和修改任何栏目来创建业务解决方案。也有其它模板可以选择,如联系人模板(如果要创建人员列表时)。SP列表包含一些如下基础的部分:
1. 栏目
也指域,栏是列表中项目的属性。例如,联系人列表中,可能有First Name名、Last Name姓、Email Address邮箱地址和Job Title职位等。栏创建都有可选的栏类型。最常见的栏目类型有:单行文本、多行文本、选项、数字、货币、日期和时间、查阅项、是/否、人员或组、超链或图片、计算值、外部数据和托管元数据。
2. 视图
视图只是查看相同列表数据的另一种方法。也被看做是简单的报告方法。列表中不同的视图,不同的栏、排序、分组和过滤都可以设置。视图设置中,你也有几个其他选项,如直接编辑、样式和总计。
3. 项目
也指记录,是列表中的数据。联系人列表中,每个项目是不同的人。
4. 版本
在SP列表和库中,可以打开版本设置。这样每次有人保存更改项目,都会作为新版本保存。它记录了详细的版本历史,谁、什么时候修改了什么地方。较老的版本可以被查看甚至还原。
5. 通知
每个访问SP网站的用户都可以创建通知(在列表或项目上),关于他们想被通知的内容。通知是邮件或短信,每次列表修改数据时发送,每个通知还能配置一些不同的设定。如是否想要在新项目添加、现存项目修改时被通知,并且是否立即还是每日或每周发送通知。
6. 表单
当向列表添加项目时,表单时一个含文本框、下拉框及其他控件的页面对于终端用户来说,不同表单间事务是无缝的,但是每个列表默认包含三个基础表单,稍后将介绍。
SP列表本身包含丰富功能,甚至在表单自定义之前。视图、通知这些概念作为基本方法(供报表和工作流使用)是很有用的。这些在引入InfoPath之前就存在了。
那InfoPath带来了什么呢?在SP2010之前,必须使用SPD或MS VS修改表单后的代码,才能自定义列表表单。有时,可以使用数据视图Web部件做简单改变,但是为了更加复杂的功能,它需要一些编程知识。使用InfoPath2010和SP2010,可以自定义这些基于浏览器的表单,这样它们不仅在视觉上增强,而且可以利用强大的功能如条件格式。没有编程经验,只需理解基本逻辑就能做到。
注意:尽管我们将使用SPD2010客户端创建这些表单,客户端电脑将只使用浏览器填写表单,所以终端电脑无需特殊软件。
下面的练习中,你将创建travel request作为SP列表,并使用InfoPath自定义列表表单。
准备:浏览器打开SP网站,以创建新列表
1. 点击“网站操作”,选择“更多选项”,选择“自定义列表”作为模板,输入“Travel Requests”作为列表名,点击创建。
2. 在功能区,点击“列表”选项卡,点击“列表设置”
3. 在“栏”部分,点击“标题”栏,重命名为“Destination”,点击确定。
4. 点击“创建者”栏,重命名为“Requestor”,点击确定。SP中每个列表和库都有“创建者”域。
5. 点击“创建栏”,如下:
6. 仍然在“列表设置”页面,点击“高级设置”,禁用附件,点击确定,然后点击确定忽略警告。
注意:这个列表中,决定填表无需附件。因此禁用附件。避免呈现给用户多余的功能和按钮。
7. 在转换列表表单到InfoPath之前要创建一个travel request。在顶部面包屑导航,点击“Travel Requests”列表打开列表默认视图。
8. 点击“添加新项目”。填写如图信息。
9. 保存。
10. 点击项目名称,显示之。
11. 在Travel Requests列表中,功能区的“列表”选项卡,点击“自定义表单”。
小贴士:最佳实践是创建全部表单域,然后自定义表单,这样表单上域的布局可一次完成。
在InfoPath中,注意到,域都列在屏幕右侧的域窗格中,表单也和转换前相似。
12. 点击左上角“快速发布”图标,点击确认弹出框的确定,关闭InfoPath。
小贴士:如果没有看到“快速发布”按钮,点击“文件”,然后点击“快速发布”。
13. 点击“Travel Requests”列表的项目名,显示之。
最后,一个简单的列表被创建且使用InfoPath自定义。可以看到两类表单的区别。我们将进一步探讨这些区别及它们如何影响你的表单设计决策。
PS:如果遇到问题----错误:该表单无法显示,可能是由于 Microsoft SharePoint Server State Service 配置不当。有关详细信息,请与服务器管理员联系.
请按照以下步骤解决:
1. 如果没有运行“服务器场配置向导”,请运行。
2. 如果仍有以上问题,需要创建状态服务
A 点击开始--管理工具--Windows PowerShell Modules(管理员身份运行)
B 在里面输入 $serviceApp = New-SPStateServiceApplication -Name "State Service"
C 接着要创建一个State Service的数据库,然后连接服务应用程序,输入 New-SPStateServiceDatabase -Name "StateServiceDatabase" -ServiceApplication $serviceApp
D 还要创建一个State Service应用程序代理,然后连接服务应用程序,输入 New-SPStateServiceApplicationProxy -Name "State Service" -ServiceApplication $serviceApp -DefaultProxyGroup
问题解决!!!
第一次把“New-SPStateServiceDatabase”写错了。OMG,嘻嘻。