天天看点

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

本文的内容对于管理员来说都是些基础的SharePoint操作 ,目的是为接下来的DVWP扩展作准备。有经验的读者请略过。

上一次我们设置了一个关系列表,用于存放两个下拉框中数据间的父子关系,以便我们可以实现下拉框的级联选择,子控件中的可选项基于父控件的选择项。

我们有办法简化关系列表的填充工作。但是会在标题栏上遇到一点小问题,默认标题是必填项。上一次,我们列出了如下选择:

  • 我们可以把标题改为可选项(如果需要,还可以在当前视图中将其隐藏)
  • 我们可以将其改为可选项并创建一个工作流来把相应网站栏的值连接起来生成一个唯一的标题。(不推荐)
  • 我们可以利用Excel创建好整张Country-State Relationship表,然后整个粘贴到这里。

本文我们将用第一种方式来实现。在下一篇博文中会介绍第三种实现方式。

在将来,我或许会提及第二中方式,但是我非常不建议这么做。因为工作流的方式需要添加很多出错检查和比较。这种方式非常适合用在已经填写完初始化数据后,在DVWP中或标准的列表表单中修改单条数据的场景。将来的博文中我们会具体介绍。

将“标题”改为可选项

1、点击“设置”->“列表设置”。

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

2、在“栏”下点击“标题”

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

3、在“其他栏设置”中的“要求此栏包含信息”下点击“否”

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

4、点“确定”

填充数据

5、点击面包屑导航返回数据表视图。

6、打开一个新的浏览器的另一个标签或窗口(窗口可以很方便的通过Alt-Tab来回切换),打开States列表(或者你的其他‘子’列表),转到数据表视图。

7、选中所有具有相同父项的子项(在本例中,点击Wyoming;按住Ctrl和Shift键,然后按上箭头,选中USA对应的所有States)并通过Ctrl-C粘贴到剪贴板。

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

8、回到关系列表,点击子栏下的第一个单元格

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

9、按Ctrl-V粘贴所有的数据到关系列表

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

10、点击第一个父单元格,从下拉框中选择相应的父项

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

11、按住Ctrl和Shift键,按下箭头来高亮所有该栏下的单元格。仍然保持按住Shift,松开Ctrl并按上箭头以取消选中新插入行对应的栏(也就是最后面的一个)。

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

12、按Ctrl-D来用第一个单元格的值向下填充该栏中所有的单元格

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

13、在父栏中最下面紧接着的单元格中,选择下一个父项(在本例中为Canada)

14、回到States列表,选择下一个父项对应的第一个子项(在本例中为Alberta),按住Ctrl和Shift,点下箭头,选中Canadian的省

SharePoint:扩展DVWP - 第18部分:可维护的下拉框 - 填充关系列表(上)

15、按Ctrl-C进行复制,返回到关系列表

16、把光标一点插入行中子项的单元格(本例中为Wyoming下面),点一下,然后按Ctrl-V进行粘贴。

17、按Ctrl-下箭头移到整个列表的底部。点左箭头移到父栏。按住Ctrl和Shift,按上箭头。(这样将选中从这里开始的包含数据的单元格下所有的单元格。)按Ctrl-D再次向下填充。

18、如果你有更多的父项,重复上面的过程即可。

我们也可以在Excel里做上面的事情,从而按照我们需要的方式获取数据,同时还可以设置一个具有描述性质的标题。我们将在下一次的扩展DVWP系列中详细介绍这种方式。

参考资料

SharePoint: Extending the DVWP – Part 18: User-Managed Dropdowns – Loading the Relationship list – Part 1