2011-12-20 3 views
1

내 SharePoint 사이트 - SPsite - excel 파일의 일부 토론을 마이그레이션 중입니다. 내 테스트에서 SharePoint는 분명히 생성 날짜와 수정 날짜를 업로드 시간으로 설정합니다. SPListItem에 이러한 값을 변경하는 방법을 알고 있지만 내 문제는 이러한 값을 SPList에 설정하는 것입니다.
이러한 특성을 Excel 파일의 값으로 변경할 수있는 방법이 있습니까?SPList에서 프로그래밍 방식으로 생성 및 수정 된 날짜를 변경할 수있는 방법이 있습니까?

안부, 베로니카

+1

정교하게 작성하십시오. 당신이 작업하고있는 코드를 보여줄 수 있다면 도움이 될 것입니다. – Abbas

+0

왜? 'SPList.Created'로 바이올린을 시도하는 것은 합리적이지 않습니다. –

답변

0

당신은 그렇게하기 위해 SPList.Folders 작업을해야합니다. 마법 기능은 다음과 같습니다.

private static void UpdateDatesOfAllItemsInTheList(SPList list, DateTime date) 
{ 
    // For each message (NOT thread) in the list. 
    foreach (SPListItem item in list.Items) 
    { 
     ChangeDate(item, date); 
    } 

    // For each thread. 
    foreach (SPListItem folder in list.Folders) 
    { 
     ChangeDate(folder, date); 
    } 
} 

private static void ChangeDate(SPListItem item, DateTime date) 
{ 
    // Open fields for edits. 
    item.ParentList.Fields[SPBuiltInFieldId.Modified].ReadOnlyField = false; 
    item.ParentList.Fields[SPBuiltInFieldId.Created].ReadOnlyField = false; 
    item.ParentList.Fields[SPBuiltInFieldId.DiscussionLastUpdated].ReadOnlyField = false; 

    // Edit fields. 
    item[SPBuiltInFieldId.Created] = date; 
    item[SPBuiltInFieldId.Modified] = date; 
    item[SPBuiltInFieldId.DiscussionLastUpdated] = date; 

    // Save changes. 
    item.UpdateOverwriteVersion(); 
} 
관련 문제