문제

묻는 것에 대한 사과, 정말로 기본적인 질문은 무엇인지, 그러나 '선택'필드에 프로그래밍 방식으로 가치를 지정하고 아무데도 문서화 된 것을 찾을 수 없습니다.

내 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 메소드를 사용할 수 있습니다.underling 값의 실제 유형을 확신 할 수없는 경우 필드 클래스의.

예 :

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/ko미국 / 라이브러리 / Microsoft.SharePoint.spFieldMultichoiceValue.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top