質問

私の謝罪を尋ねて、本当に基本的な質問をしているのですが、私はプログラム的に「選択」フィールドに価値を割り当て、どこにでも文書化されたものを見つけることができないようです。

XMLで定義されている:

 <Field Type="Choice" DisplayName="MyChoiceField" StaticName="MyChoiceField" Name="MyChoiceField"
       ID="[GUID]" Format="Dropdown" FillInChoice="FALSE" Required="FALSE" EnforceUniqueValues="FALSE" Indexed="FALSE"  >
    <Default></Default>
    <CHOICES>
      <CHOICE>Choice1</CHOICE>
      <CHOICE>Choice2</CHOICE>
    </CHOICES>
  </Field>
.

と私の試みたASを次のように割り当てました。

item["MyChoiceField"] = "Choice1";
.

しかし、これが選択フィールドの無効な値であることを例外しています。

役に立ちましたか?

解決

getFieldValue メソッドを使用できます。実際のタイプの不明な場合は、フィールドクラスの。

例えば:

item["MyChoiceField"] = listIstance.Fields["MyChoiceField"].GetFieldValue("Choice1");
.

他のヒント

おそらくこのような何か?

// Get a reference to the field.
SPFieldMultiChoice choiceField = (SPFieldMultiChoice)list.Fields.GetField(fieldInternalName);

// Create a field value with all choices selected.
// (A CheckBoxChoiceField control would have all boxes checked.)
SPFieldMultiChoiceValue values = new SPFieldMultiChoiceValue();
foreach (string choice in choices)
{
   values.Add(choice);
}

// Add an item to the list.
SPListItem item = list.Items.Add();
item[SPBuiltInFieldId.Title] = "Test item";
item[choiceField.Id] = values;
item.Update();
.

http://msdn.microsoft.com/en-US / Library / Microsoft.SharePoint.SpfieldMultichOiceValue.aspx

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top