自定义Workflow状态列值--ExtendedStatusColumnValue

在利用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网站中;

时间: 2024-08-02 16:29:18

自定义Workflow状态列值--ExtendedStatusColumnValue的相关文章

jqgrid分页后,自定义查询数据怎么得到所有页的某列值的合计

问题描述 各位大侠们,新手求教.我现在用jqgrid,把数据流打到前端之后.然后在前端界面中用自定义查询,查询数据,查询数据完之后我如何得到所有页的某列值的合计 解决方案 解决方案二:<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="In.aspx.cs"Inherits="test.WebForm1"%><!DOCTYPEhtmlPUBLIC&quo

WordPress 自定义文章列表列的实例

今天要实现的效果如下图,具体的功能就是在列表里添加一列"推荐指数",用来显示每篇文章的推荐指数,同时可以根据"推荐指数"来进行文章排序. 首先要做的就是在表头添加"推荐指数"列.  代码如下 复制代码 function add_rating_column($columns) {     $columns['rating'] = '推荐指数';     return $columns; } add_filter('manage_posts_colu

SQL调优之列值的集簇因子研究

列值的选择性.集簇和柱状图 切记,优化器了解表中列数据的许多重要特征,最显著的是列值的选择性和列的集簇因子. 例如,以下我们看到一个使用列值来形成结果集的查询: select   customer_name from   customer where   customer_state = 'Rhode Island'; 在此示例中,选择使用索引还是全表扫描受到罗得岛客户比例的影响.如果罗得岛客户的比例非常小 ,并且数值集簇在数据块中,则对于此查询而言索引扫描可能是最快的执行计划. 许多 Orac

用Oracle10g列值掩码技术隐藏敏感数据

Oracle的虚拟私有数据库特性(也称作细颗粒度存取控制)对诸如SELECT等数据管理语言DML语句提供行级安全性检查.PL/SQL策略函数和某个数据表相关联,这个函数可以检查当前用户的上下文背景并添加查询中WHERE语句的条件(断言),一个用户或者应用可以这样来写: SELECT * FROM employees; 但是实际上oracle将会执行这样的语句: SELECT * FROM employees WHERE department_id = 60; 因此,只有在查寻范围之内的行(在de

谈表达式树的缓存(5):引入散列值

到目前为止,我们已经实现了三种缓存方式:首先我们设法构建唯一字符串,但是由于它的代价较高 ,于是我们使用了前缀树进行存储:又由于前缀树在实际操作中所花的时间和空间都有不令人满意之处, 我们又引入了二叉搜索树.那么二叉搜索树又有什么缺点呢?其实前文已经谈到过了,那就是从理论上来 说,它的时间复杂度相对前两个要高,在最坏情况下将会出现O(m * log(n))的时间复杂度--每次比较 两个前缀树需要耗费O(m),共比较O(log(n))次. 很显然,与最理想的时间复杂度O(m)相比,其差距就在于n,

ORACLE列值合併

 合併列值最通用的方法就是寫一個自定義函數去實現,這裏介紹的是其他方法. 在SQL Server中合併列值可以使用For Xml Path,在Oracle中則可以使用wm_concat 或 ListAgg. 準備數據: 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE MyTest(xType NUMBER,City nvarchar2(200)); /   INSERT INTO MyTest(xType,City) SELECT 1,N'北京' FROM dua

sqlite-从列值为空的表中获取数据

问题描述 从列值为空的表中获取数据 表: CREATE TABLE Reports ( _id INTEGER NOT NULL PRIMARY KEY,member_id INTEGER, is_conf BOOLEAN, name TEXT, started INTEGER, finished INTEGER, description TEXT, obj_id INTEGER NOT NULL, FOREIGN KEY (obj_id) REFERENCES Objects (_id));

FAQ系列 | 写新数据时某列值总是被自动修改

0.导读 往表里写入新数据时,却一直报告主键冲突,某列值一直被重置为一个固定值,疑似被黑,啥情况? 1.问题描述 某朋友的线上数据库,怀疑被侵入了.具体表象是:INSERT的时候,某列值总被自动改成一个固定值. 他们先自查了 TRIGGER 和 EVENT,都是空的,确定不是因为这两种原因引起,实在想不出是哪里被动了手脚. 问题的现象: MariaDB [information_schema]> use bbs9; Reading table information for completion

使用自增长键列值的统计信息

原文:使用自增长键列值的统计信息 今天的文章里我想谈下SQL Server里非常普遍的问题:如何处理用自增长键列的统计信息.我们都知道,在SQL Server里每个统计信息对象都有关联的直方图.直方图用多个步长描述指定列数据分布情况.在一个直方图里,SQL Server最大支持200的步长,但当你查询的数据范围在直方图最后步长后,这是个问题.我们来看下面的代码,重现这个情形:  1 -- Create a simple orders table 2 CREATE TABLE Orders 3 (