2013-05-03 46 views
0

我已經創建了兩個自定義列表和SharePoint設計師能夠列表項從一個列表複製到其他使用工作流程2010.but我的要求是,所有項目複製一個列表到另一個使用工作流程。我在谷歌搜索相同的,我沒有找到正確的解決方案,任何人都可以提出一個想法相同?全部複製列表項到另一個列表在SharePoint 2010 WSS

在此先感謝。

回答

0

您應該創建一個新的自定義工作流程活動來執行此操作。 這是一個示例代碼來執行此操作。欲瞭解更多信息有關創建新的工作流活動檢查此鏈接: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; 
    } 

好運。

+0

謝謝您的回覆。是否有任何其他方式來實現此目的??我不想使用編碼。我們可以使用Sharepoint設計器創建自定義工作流程(而不是使用Visual Studio)..? – siva 2013-05-07 09:50:31

相關問題