【问题标题】:How to add more choices to existing choice Field如何向现有选择字段添加更多选择
【发布时间】:2013-09-27 05:41:13
【问题描述】:

这是我的设置:

我有一个包含此字段的列表(从 vs2010 创建):

ID="{854D15F6-C70F-4C79-AB59-40C8786EF825}"
 Name="fooSelector"
 Type="Choice"
 Sealed="TRUE"
 Required="TRUE"
 DisplayName="Fruits">
  <CHOICES>
   <CHOICE>Apple</CHOICE>
   <CHOICE>Cherry</CHOICE>
   <CHOICE>Both</CHOICE>
  </CHOICES>
</Field>

我想为该字段添加更多选择。 我尝试使用powershell在网上找到两个样本...... 一个)

$spWeb = Get-SPWeb http://intranet/foo

$spList = $spWeb.Lists["Dynamics-Nav List"]
$choices =  New-Object System.Collections.Specialized.StringCollection
 "Fish",
 "Melon"  | ForEach-Object { $choices.Add($_) | Out-Null }

$spList.Fields.Add("Fruits",
 [Microsoft.SharePoint.SPFieldType]::Choice,
 $false,
 $false,
 $choices) 
$spList.Fields[“Fruits”].Update()

B)

$w = Get-SPWeb http://intranet/foo
$l = $w.Lists["Dynamics-Nav List"]
$uf = $l.Fields["Fruits"]
$uf.Choices
$uf.Choices.Add("Fish");
$uf.update()
$l.update();

两者都运行良好,没有错误,之后 $uf.Choices 显示刚刚添加的“Fish”选项,但没有保存任何更改。

我做错了什么?

最好的祝愿, 阿明

【问题讨论】:

    标签: sharepoint sharepoint-2010


    【解决方案1】:

    尝试使用 powershell

    $suryafield = "<Field Type='Choice' DisplayName='Surya' Required='TRUE' Format='Dropdown' Group='Custom Columns'
          FillInChoice='FALSE' StaticName='Surya' Name='Surya'>
                <CHOICES>
                    <CHOICE>YES</CHOICE>
                    <CHOICE>NO</CHOICE>
                </CHOICES>
               </Field>"
          $web.Fields.AddFieldAsXml($suryafield)
    

    有关更多信息,请参阅此帖子 http://suryapulipati.blogspot.com/2013/08/create-sharepoint-choice-field-site.html

    【讨论】:

      【解决方案2】:

      从后面的代码中试试这个代码:

      string newField = string.Concat("<Field Type='Choice' DisplayName='",
                          "FieldName", "' Name='", "FieldName", "' ",
                          "Format='Dropdown' Required='TRUE' Indexed='TRUE'><CHOICES>",
                          "<CHOICE>1</CHOICE>",
                          "<CHOICE>2</CHOICE>",
                          "<CHOICE>3</CHOICE>",
                          "</CHOICES><Default>1</Default>",
                          "<Description> Status.",
                          "</Description></Field>");
      
          list.Fields.AddFieldAsXml(newField, true,SPAddFieldOptions.AddFieldToDefaultView);
          Web.Update();
      

      【讨论】:

        猜你喜欢
        • 2022-11-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-12
        • 2021-05-27
        • 2012-04-24
        • 2019-02-20
        • 1970-01-01
        • 2012-08-29
        相关资源
        最近更新 更多