Скопируйте все элементы списка в другой список в SharePoint 2010 WSS

Я создал два настраиваемых списка и могу копировать элемент списка из одного списка в другой, используя рабочие процессы в дизайнере sharepoint 2010. Но мое требование - скопировать все элементы из одного списка в другой, используя рабочий процесс. Я искал то же самое в Google, я не нашел правильного решения. Может ли кто-нибудь предложить идею для того же?

Заранее спасибо.


person siva    schedule 03.05.2013    source источник


Ответы (1)


Для этого необходимо создать новое пользовательское действие рабочего процесса. Вот пример кода для этого. Для получения дополнительной информации о создании нового действия рабочего процесса перейдите по этой ссылке: http://msmvps.com/blogs/sundar_narasiman/archive/2010/12/26/develop-custom-workflow-activity-for-sharepoint-2010-workflow.aspx< /а>

    private void ProcessActivity(ISharePointService service)
    {
        using (SPWeb web = (SPWeb)(SPContext.Current.Web))
        {             
            SPList sourceList = web.Lists[sourceListid];                   
            SPListItemCollection ic = sourceList.Items;
            foreach (SPItem i in ic)
            {
                SPListItem item = sourceList.Items.GetItemById(Convert.ToInt32(i.["ID"].ToString()));                 
                CopyItems(item,DestinationListName);
            }
        }

    }

    private SPListItem CopyItems(SPListItem sourceItem, string destinationListName)
    {
        //Copy sourceItem to destinationList
        SPList destinationList = sourceItem.Web.Lists[destinationListName];
        SPListItem targetItem = destinationList.Items.Add();
        foreach (SPField f in sourceItem.Fields)
        {
            //Copy all except attachments.
            if (!f.ReadOnlyField && f.InternalName != "Attachments"
                && null != sourceItem[f.InternalName])
            {
                targetItem[f.InternalName] = sourceItem[f.InternalName];
            }
        }

        targetItem.Update();

        return targetItem;
    }

Удачи.

person Mohammad Modrek    schedule 04.05.2013
comment
Спасибо за ваш ответ. Есть ли другой способ добиться этого? Я не хочу использовать кодирование! Можем ли мы создать настраиваемые рабочие процессы с помощью дизайнера sharepoint (вместо визуальной студии)?..? - person siva; 07.05.2013