2011-12-20 58 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(); 
} 
関連する問題