SharePoint标题列DisplayName

时间:2012-07-31 23:36:51

标签: sharepoint-2010

我正在使用XML创建一个功能,用于字段,内容类型和列表的定义。通过编辑设计器中的视图或使用代码或PowerShell对任何内容进行更改,我对如何做我想要的事情并不特别感兴趣。

我创建了几个具有默认“标题”列的内容类型,但在内容类型定义中,我指定了DisplayName为“Name”。很好,这很容易!

因此,我使用Visual Studio 2010项目模板基于该内容类型创建列表定义(和列表实例),并在部署时,在任何地方显示“标题”...在视图中,“标题”是列名称。当我进入新的,编辑或显示表单时,“标题”是字段标签。哦不......

所以在一天中的大部分时间里玩这个,我发现如果我在列表定义中的MetaData元素的Fields元素中指定了DisplayName为“Name”的“Title”字段,那么它会在它正在绘制新的,编辑和显示的表单,但是当显示列表时,它仍然显示列名称“标题”。

在ViewFields元素中,LinkTitle是被引用的字段,我将DisplayName属性设置为Name,并忽略它。我也没有成功尝试过Alias属性,除了“可选文本”(很棒的工作人员)之外,它似乎没有任何MSDN文档。

关于神奇的XML的任何想法,以获得列表视图中的标题列,并以标题“名称”显示。

2 个答案:

答案 0 :(得分:2)

我终于发现,如果我在列表定义中的MetaData元素的Fields元素中明确包含LinkTitle,并将Field的DisplayName属性设置为“Name”,那就是我要做的事情。

<Field Name="LinkTitle"
       ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}"
       DisplayName="Name"/>

答案 1 :(得分:0)

      <?xml version="1.0" encoding="utf-8"?>
      <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
                <!-- Parent ContentType: Item (0x01) -->

     <Field  ID="{87F3ABFD-2F63-4E10-802E-9BE7E1740137}"
      Name="Description"          
      DisplayName="Description"
      Group="My Custom Columns"
      Type="Note"
      DisplaceOnUpgrade="TRUE" />
    <ContentType ID="0x0100dcbde47be1774e64a169b55bc1c956b4"
           Name="AddUserToGroup - ContentType1"
           Group="Custom Content Types"
           Description="My Content Type"
           Inherits="FALSE"
           Overwrite="TRUE"
           Version="0">
<FieldRefs>
  <FieldRef ID="{13CF49E1-1961-4794-8FDD-B045F97D102F}" Name="Title"
  DisplayName="Name"      Required="TRUE" Sealed="TRUE" ShowInDisplayForm="TRUE"
  ShowInEditForm="TRUE" ShowInNewForm="TRUE"  />
  <FieldRef ID="{87F3ABFD-2F63-4E10-802E-9BE7E1740137}" 
  Name="Description" DisplayName="Description"/>
</FieldRefs>