天天看點

SharePoint 2013 狀态機工作流之擴充自定義狀态

當我們使用SharePoint 2013的狀态機工作流時,發現一個非常不爽的事情,就是SharePoint 所有的工作流狀态,都是固定的那些,沒辦法顯示我們自定義的狀态,後來經過Google發現,原來這個狀态是可以自定義的。

  自定義狀态步驟

1、  修改xml添加MetaData下面的擴充項;

<ExtendedStatusColumnValues>

  <StatusColumnValue>測試狀态1</StatusColumnValue>

  <StatusColumnValue>測試狀态2</StatusColumnValue>

  <StatusColumnValue>測試狀态3</StatusColumnValue>

  <StatusColumnValue>測試狀态4</StatusColumnValue>

  <StatusColumnValue>測試狀态5</StatusColumnValue>

</ExtendedStatusColumnValues>

截圖如下:

SharePoint 2013 狀态機工作流之擴充自定義狀态

2、  在工作流中聲明自定義狀态的枚舉類型;

publicenumSPWorkflowStatus

{

    測試狀态1 = 0,

    測試狀态2 = 1,

    測試狀态3 = 2,

    測試狀态4 = 3,

    測試狀态5 = 4,

    Max = 15

}

3、  在工作流的過程中,添加“SharePoint 工作流”中的SetState項,如下圖;

SharePoint 2013 狀态機工作流之擴充自定義狀态

4、  在新添加的SetState項中,修改Correlation為workflowToken(與onWorkflowActivated一樣),不要任何的Task的Token,如上圖;

5、  建立新的State字段并與之關聯,如下圖;

SharePoint 2013 狀态機工作流之擴充自定義狀态

6、  輕按兩下添加的SetState建立方法,在裡面初始化狀态;

privatevoid setState2_MethodInvoking(object sender, EventArgs e)

    setState2.State = (Int32)SPWorkflowStatus.Max + 1;

7、  效果如下兩圖:

SharePoint 2013 狀态機工作流之擴充自定義狀态

(圖1 清單展示頁) 

SharePoint 2013 狀态機工作流之擴充自定義狀态

(圖2 工作流狀态頁) 

  結束語

其實沒什麼可說的,谷歌的解決方法,位址附後。

  http://sharepoint.ginni.me/2010/01/setting-workflow-status-to-custom.html

  http://blog.naikoo.com/?p=25

  課程推薦

繼續閱讀