當我們使用SharePoint 2013的狀态機工作流時,發現一個非常不爽的事情,就是SharePoint 所有的工作流狀态,都是固定的那些,沒辦法顯示我們自定義的狀态,後來經過Google發現,原來這個狀态是可以自定義的。
自定義狀态步驟
1、 修改xml添加MetaData下面的擴充項;
<ExtendedStatusColumnValues>
<StatusColumnValue>測試狀态1</StatusColumnValue>
<StatusColumnValue>測試狀态2</StatusColumnValue>
<StatusColumnValue>測試狀态3</StatusColumnValue>
<StatusColumnValue>測試狀态4</StatusColumnValue>
<StatusColumnValue>測試狀态5</StatusColumnValue>
</ExtendedStatusColumnValues>
截圖如下:

2、 在工作流中聲明自定義狀态的枚舉類型;
publicenumSPWorkflowStatus
{
測試狀态1 = 0,
測試狀态2 = 1,
測試狀态3 = 2,
測試狀态4 = 3,
測試狀态5 = 4,
Max = 15
}
3、 在工作流的過程中,添加“SharePoint 工作流”中的SetState項,如下圖;
4、 在新添加的SetState項中,修改Correlation為workflowToken(與onWorkflowActivated一樣),不要任何的Task的Token,如上圖;
5、 建立新的State字段并與之關聯,如下圖;
6、 輕按兩下添加的SetState建立方法,在裡面初始化狀态;
privatevoid setState2_MethodInvoking(object sender, EventArgs e)
setState2.State = (Int32)SPWorkflowStatus.Max + 1;
7、 效果如下兩圖:
(圖1 清單展示頁)
(圖2 工作流狀态頁)
結束語
其實沒什麼可說的,谷歌的解決方法,位址附後。
http://sharepoint.ginni.me/2010/01/setting-workflow-status-to-custom.html
http://blog.naikoo.com/?p=25
課程推薦