程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 自定義Workflow狀態列值--ExtendedStatusColumnValue

自定義Workflow狀態列值--ExtendedStatusColumnValue

編輯:關於.NET

在利用Microsoft的WWF開發工作流後,部署到Sharepoint平台中,在運行自定義的流程進行審批的時候,在審批完每個任務後,只要工作流沒有最後的完成 工作流的狀態都是顯示“進行中”,不管在這個任務審批是同意要流到下一個任 務,還是拒絕返回到本任務中都顯示這個狀態值,但在現實的項目中這樣情況並 不能滿足用戶的需求,用戶希望可以自定義工作流在審批過程中顯示的狀態值;

接下就介紹下如何進行自定義工作流狀態列的值,新建一個工作流項目如順 序工作流項目,具體如何進行創建工作流項目在此就不“唠叨”了,主要介紹自 定義工作流狀態值,假設現在已創建好基本的工作流項目,那麼自定義工作流狀 態值的步驟,具體如下:

1、在工作流設計器中,將“SetState”活動拖曳進來到某onTaskChange活動 下,並修改CorrelationToken屬性的值為當前工作流開始活動 (onWorkflowActivated)對應的屬性值一樣即可。

說明:SetState活動是對當前工作流進行設置的,而不是對應工作流中的某 個任務

2、修改“SetState”活動裡的State屬性值,創建一個名如 setWorkflowState的Field。

3、修改Workflow.xml文件,打開此文件並在<MetaData>節點中添加如 下節點元素:

<ExtendedStatusColumnValues>
         <StatusColumnValue>已取消(可自定義) </StatusColumnValue>
         <StatusColumnValue>已批准(可自定義) </StatusColumnValue>
         <StatusColumnValue>被拒絕(可自定義) </StatusColumnValue>
</ExtendedStatusColumnValues>

上面此段節點就是擴展工作流中現有狀態值的信息,由於工作流中狀態值都 是用基於0開始的一個整型數來表示的即是0~14之間的數,且0~14這15個數值 是保留給系統內部使用的,所以自定義擴展的狀態值將在原先的數上進行累加即 從編號15開始於此類推。如上面自定義的擴展的三個狀態值對應的編號:已取消 為15、已批准為16、被拒絕為17;

保存Workflow.xml文件;

4、雙擊SetState活動創建關聯的事件處理程序,並在此事件中設置當前運行 的工作流的狀態值,代碼如下:

setWorkflowState = (int)SPWorkflowStatus.Max + 1;

說明:SPWorkflowStatus.Max表示為獲取當前工作流狀態值的最大值即15;

5、按“F5”進行編譯並部署工作流到Sharepoint網站中;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved