VS 2010 の c# で SharePoint のカスタム ワークフローを作成しています。
私の現在の目的は、' で区切られた SharePoint リスト データ フィールドを取得することです。' データを分割し、空白の場合はいくつかの異なるリスト フィールドに再入力します。
これが SharePoint デザイナーで可能である場合は、秘密を教えてください。ただし、これはこれまでのビジュアル スタジオの取り組みです。
namespace DataFlow1.Workflow1
{
public sealed partial class Workflow1 : SequentialWorkflowActivity
{
public Workflow1()
{
InitializeComponent();
}
public Guid workflowId = default(System.Guid);
public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();
private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
{
SPSite mySourceSite = new SPSite("http://win- hnb91nnab2g/Lists/Lookup%20List/AllItems.aspx/");
SPWeb mySourceWeb = mySourceSite.OpenWeb();
SPList mySourceList = mySourceWeb.Lists["Lookup List"];
SPListItem mySourceListItem = workflowProperties.Item;
string SourceTitle = mySourceListItem["Title"].ToString();
//test
char[] delimiterChars = { ';' };
string SourceData = mySourceListItem["Data In"].ToString();
string[] SourceDataSplit = SourceData.Split(delimiterChars);
SPSite myDestinationSite = new SPSite("http://win-hnb91nnab2g/Lists/Output%20List/AllItems.aspx/");
SPWeb myDestinationWeb = myDestinationSite.OpenWeb();
SPList myDestinationList = myDestinationWeb.Lists["Output List"];
SPListItem myDestinationListItem = myDestinationList.Items.Add();
myDestinationListItem["Title"] = SourceTitle;
myDestinationListItem["Data Out"] = SourceDataSplit;
myDestinationWeb.AllowUnsafeUpdates = true;
myDestinationListItem.Update();
myDestinationWeb.AllowUnsafeUpdates = false;
}
}
}
コードはそのままデバッグし、区切り文字を試みる前に、あるフィールドから別のフィールドにデータをコピーしました。
私は解決策を望んでいませんが、ワークフローの境界内で達成しようとしていることの例を見つけるためのアドバイスをいただければ幸いです。
ありがとうございました。