我正在从excel文件迁移我的SharePoint网站上的一些讨论 - SPsite。 在我的测试中,SharePoint显然将创建和修改日期设置为上载时间。我知道如何在SPListItem上更改这些值,但我的问题是在SPList上设置这些值 有没有办法将这些属性更改为来自excel文件的值?
此致 婆婆纳
答案 0 :(得分: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();
}