2010-03-10 6 views
1

내 SharePoint 목록에 여러 조회 값을 허용하는 열이 있습니다. 웹 파트 내에서 C# 컨트롤을 사용하면 사용자가 목록 상자에서 여러 항목을 선택할 수 있습니다. 이 값을 배열로 분할합니다. 각 배열 멤버는 동일한 SPListItem 열에서 업데이트해야하는 선택된 값입니다.SPListItem에 여러 조회 값 삽입/업데이트

선택 사항이 목록 상자에서 제대로 전달된다는 것을 알고 있습니다.이 값 그룹을 SPListItem의 같은 열에 추가하면됩니다.

어디로 잘못 가고 있습니까?

SPFieldLookupValueCollection MyCollection = new SPFieldLookupValueCollection(); 
for (int i = 0; i < MyArrayOfSelections.Length; i++) 
{ 
    if (MyLookupList["LookupColumn"].ToString() == MyArrayOfSelections[i].ToString()) 
    { 
     MyID = int.Parse(MyLookupList[i]["ID"].ToString()); 
     SPFieldLookupValue thisSelection = new SPFieldLookupValue(MyID,MyArrayOfSelections[i].ToString()); 
     MySubCollection.Add(thisSelection); 
     } 
    } 
    ListIWantToUpdate["ColumnWithMultipleLookupSelections"] = SubCollection; 
    ListIWantToUpdate.Update(); 
    site.Update(); 
} 
+0

위 코드는 lookup-list – elizabeth

+0

Bah에서 SPListItemCollection을 반복하는 다른 for 루프에 실제로 포함되어 있습니다! 문제를 발견했는데 바보 같았습니다. for 루프, i ++ ... 내부 루프 J ++. 목록 상자에서 선택 배열을 반복 할 때 - 'j'인덱스 대신 'i'인덱스를 사용했습니다. D' oh! 감사합니다 사이트 - 일반적으로 내가 걸림돌에 빠졌을 때 ... 나는 대답을 찾을 수있다. 레. 고맙습니다. – elizabeth

답변

1

코드 예제의 마지막 행은 혼동을 일으킬 수 있습니다 (변수 이름 일 수도 있습니다). 데이터를으로 업데이트하는 중이라면 SPList 개체를 업데이트 할 필요가 없습니다 (이 작업에는 특정 목록에 대한 "목록 관리"권한이나 SPSite ojbect 권한이 필요하지 않음) (사이트 관리자 또는 소유자 여야 함).

+0

당신이 대답 할 때 내가 어떻게 이메일 알림을 놓쳤는 지 모르겠다! 오늘이 일을 그냥 지나쳤습니다. 귀하의 답변에 많은 감사를드립니다. Re : 혼란스러운 명명 조건, mea culpa. 나는 listItem을 업데이트하고있다. SPSite 개체를 수정 해 주셔서 감사합니다. 귀하의 게시물이 도움이되었습니다. – elizabeth