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


    本文实质上讲述的内容是一个数据准备的通用技巧,也是为了接下来的DVWP扩展作准备。对于管理员来说也都是些基础的SharePoint操作,有经验的读者请略过。

    前面我们完成了创建网站栏为网站栏填充数据,创建关系列表,和为关系列表填充数据的工作。但是,你可能非常希望在关系列表中使用标题栏,以使将来的维护工作变得容易些。这是可以理解的,特别是当需要修改其中的某些数据或在将来进行新增数据操作时。有一个唯一标识的标题会省很多事。

    可以通过两种方式来实现:

    1、创建一个工作流,当列表项创建好后,自动拼接父项和子项生成一个标题。

    问题:这种方式对于我们通过复制/粘贴填充多行数据(像上一篇博文中那样)的场景来说不适用。因为当其中一块数据粘贴过来时,该行已经创建,但是另一块数据还是空的。因此“新建项目时自动启动此工作流”将不适用。“只要更改了项目,就自动启动此工作流”的方式需要我们首先检查标题是否已经正确设置,如果为否则修改它,这个操作本事也会除非修改型的工作流本身。这样会把服务器挂起,直到你手动结束该工作流。

    显然,这种方式不适合用在初始化批量上数据。但它可以用在将来单条添加数据的场景。特别是你必须手工创建父子关系时(无论如何,理论上是这样的)。

    2、另一个可以很快想到的方法是在数据表视图中创建一个计算列,迅速将两者进行拼接。然后只要在标题字段上复制粘贴整个栏即可。

    问题:查阅项型的栏在计算栏配置页面中是看不见的。

    但是,我们可以使用Excel实现相同的想法。

    这正是我们在这篇博文中将要讨论的内容。

    Excellent的方法

    运行Excel,我们将找到一种更加容易的方法来填充我们的关系列表。

    1、在一个新的工作簿上,在B栏的第一格单元格内输入第一个父项。

    在Excel中填写数据的顺序要和在我们列表的数据表视图中的顺序一致

    2、回到我们的子列表,选中第一个父项对应的所有子项,然后按Ctrl-C进行复制

    3、回到Excel,然后在C栏下按Ctrl-V进行粘贴

    4、转到子列表的底部(按Ctrl-下箭头)

    5、通过按左箭头,将焦点移到左侧的栏

    6、按住Ctrl和Shift键,按上箭头选中该栏中此单元格上的所有单元格,包括第一行中已填写数据的单元格

    7、按Ctrl-D向下填充

    8、为其他父子重复以上操作。

    9、在Excel中移到A1单元格

    10、在fx窗口中,输入=CONCATENATE(B1,"-",C1)

    11、按回车键后A栏中就得到一个由父和子生成‘标题’。

    12、把光标放在B或C栏中,按Ctrl-下箭头转到所输入数据的底部。然后按左箭头移到A栏。

    13、按住Ctrl和Shift,按上箭头选中所有空白单元格和第一行中包含数据的单元格(这里是A1)。

    14、按Ctrl-D向下填充该公式。这样所有的记录就都得到了一个描述性质的标题

    15、点一下A1。按住Ctrl和Shift,按右箭头,然后按下箭头。按Ctrl-C复制所有数据。

    16、回到关系列表,点一下标题下面的第一个单元格(光标应该处于不可见状态,只是出现高亮的外框)

    17、按Ctrl-V粘贴整个关系列表的数据。

    实现级联

    无论你是用这种方法还是用上一次介绍的方法,现在我们都可以开始用jQuery实现控件的级联了,在下一次扩展DVWP系列中我们就会介绍具体的实现。

    参考资料

    SharePoint: Extending the DVWP – Part 19: User-Managed Dropdowns – Loading the Relationship list – Part 2

  • 相关阅读:
    leetcode 131. Palindrome Partitioning
    leetcode 526. Beautiful Arrangement
    poj 1852 Ants
    leetcode 1219. Path with Maximum Gold
    leetcode 66. Plus One
    leetcode 43. Multiply Strings
    pytorch中torch.narrow()函数
    pytorch中的torch.repeat()函数与numpy.tile()
    leetcode 1051. Height Checker
    leetcode 561. Array Partition I
  • 原文地址:https://www.cnblogs.com/Sunmoonfire/p/1823439.html
Copyright © 2020-2023  润新知