向 SharePoint 托管的 SharePoint 加载项添加自定义列

这是关于开发 SharePoint 托管的 SharePoint 外接程序的基础知识系列文章中的第三篇文章。你应该首先熟悉SharePoint 外接程序以及本系列中之前的文章,可在开始创建 SharePoint 托管的 SharePoint 外接程序 | 后续步骤中找到相关内容。

注意

如果已完成有关 SharePoint 托管加载项的本系列文章之一,便已生成 Visual Studio 解决方案,可以在继续阅读本主题的过程中使用。 也可以从 SharePoint_SP-hosted_Add Ins_Tutorials 下载存储库,再打开 BeforeColumns.sln 文件。

本文将回归编码,并介绍如何向“员工入职培训”SharePoint 加载项添加一些网站列。

创建自定义列类型

  1. 在“解决方案资源管理器”中,右键单击项目,再依次选择“添加”>“新文件夹”。 将文件夹命名为“网站列”

  2. 右键单击新文件夹,再依次选择“添加”>“新项”。 此时,“添加新项”对话框打开,并展开“Office/SharePoint”节点。

  3. 选择“网站列”,将它命名为“部门”,再选择“添加”

  4. 在新网站列的 elements.xml 文件中,将“Field”元素编辑为包含下面示例中的属性和值,只不过得更改 Visual Studio 为“ID”属性生成的 GUID 值因此请务必谨慎复制和粘贴

    <Field ID="{generated GUID}"
          Name="Division"
          Title="Division"
          DisplayName="Division"
          Description="The division of the company where the employee works."
          Group="Employee Orientation"
          Type="Text"
          Required ="FALSE">
    </Field>
    
  5. 将另一个名为“入职培训阶段”的“网站列”添加到同一文件夹中。

  6. 在新网站列的 elements.xml 文件中,将“Field”元素编辑为包含下面示例中的属性和值,只不过不得更改 Visual Studio 为“ID”属性生成的 GUID 值。

    <Field ID="{generated GUID}"
          Name="OrientationStage"
          Title="OrientationStage"
          DisplayName="Orientation Stage"
          Group="Employee Orientation"
          Description="The current orientation stage of the employee."
          Type="Choice"
          Required ="TRUE">
    </Field>
    
  7. 由于这是选项字段,因此必须指定可选择的选项,以及它们在下拉列表中显示以供用户选择的顺序。 因为此为必填字段,所以必须指定默认值。 将以下子标记添加到“Field”元素中,再保存所有文件。

    <CHOICES>
        <CHOICE>Not Started</CHOICE>
        <CHOICE>Tour of building</CHOICE>
        <CHOICE>HR paperwork</CHOICE>
        <CHOICE>Corporate network access</CHOICE>
        <CHOICE>Completed</CHOICE>
    </CHOICES>
    <MAPPINGS>
          <MAPPING Value="1">Not Started</MAPPING>
          <MAPPING Value="2">Tour of building</MAPPING>
          <MAPPING Value="3">HR paperwork</MAPPING>
          <MAPPING Value="4">Corp network access</MAPPING>
          <MAPPING Value="5">Completed</MAPPING>
    </MAPPINGS>
    <Default>Not Started</Default>
    

运行加载项并测试列

  1. 按 F5 键部署并运行加载项。 Visual Studio 在测试 SharePoint 网站上临时安装并立即运行此加载项。

  2. 在加载项的默认页面打开后,选择“西雅图新员工”链接,打开自定义列表实例。

  3. 若要打开列表的“设置”页,并向其中添加两列,请按照以下步骤操作:

    1. 依次选择列表正上方的标注按钮“· · ·”和“创建视图”

    2. 此时将打开“ 视图类型 ”页,顶部有痕迹导航结构 “设置 > 视图类型 ”。 单击“设置”痕迹导航。

      图 1. 打开列表设置页的步骤

      “西雅图的新员工”列表,其中标注按钮和“创建视图”项突出显示为第一步。然后箭头指向突出显示了“设置”痕迹导航的“创建视图”页。

    3. 在“设置”页上,打开页面左侧大约中部位置的“从现有网站列中添加”链接。

      图 2. 列表设置页

      突出显示“从现有网站列中添加”链接的列表实例“设置”页。

    4. 在“从现有网站列中添加”页上,从“网站列选择自”下拉列表中选择“员工入职培训”

      图 3. “从网站栏中添加列”页

      SharePoint 列选择控件,其中“网站列选择自”下拉列表内选中的是“员工入职培训”。

    5. 将“部门”和“入职培训阶段”列添加到“要添加的列”框中。

    6. 选择“确定”返回到“设置”页,再选择页面顶部附近的“西雅图新员工”痕迹导航。

  4. 新列现在位于列表中。 向列表添加新项。 在编辑窗体上, “方向阶段 ”字段已具有默认值 “未启动”。 (此字段中的现有项将为空,因为它们是在字段位于 list 上之前创建的。)

    图 4. 具有新列的列表

    包含新“部门”和“入职培训阶段”列的列表。

  5. 若要结束调试会话,请关闭浏览器窗口或停止在 Visual Studio 中进行调试。 每次按 F5,Visual Studio 都会撤回旧版加载项并安装最新版本。

  6. 将在其他文章中使用此加载项和 Visual Studio 解决方案,因此最好在使用一段时间后,再最后撤回一次加载项。 在“解决方案资源管理器”中,右键单击此项目,再选择“撤回”

后续步骤

真不希望用户必须手动才能向列表添加自定义列,所以本系列的下一篇文章向 SharePoint 托管 SharePoint 加载项添加自定义内容类型将介绍如何创建自定义内容类型,其中包含自定义列,并能与“新员工”列表模板自动关联。