I have requirement to copy items from one SPList to another,
Here is the code which is not working:
public void CopyList(SPList src)
{
//Copy items f
field.id
may be different in different lists. Use the InternalName
property instead.DestionationList.Update
, you are not changing the destination list's settings or anything.I modified the code to show these changes
public void CopyList(SPList src)
{
//Copy items from source List to Destination List
foreach (SPListItem item in src.Items)
{
if(isUnique(item.UniqueId))
{
newDestItem = DestinationList.Items.Add();
foreach (SPField field in src.Fields)
{
try
{
if ((!field.ReadOnlyField) && (field.InternalName!="Attachments"))
newDestItem[field.InternalName] = item[field.InternalName];
}
catch (Exception ex)
{
//you should save the "ex" somewhere to see its outputs
ex.ToString();
}
}
newDestItem.Update(); //only now you call update!
}
}
}