原moss项目是用moss2007+vs2008+QuickFlow开发工作流,实现审批状态改变的核心代码如下:
在task完成事件中
SPListItem item = task.WorkflowProperties.Item;
if (item.ModerationInformation.Status == SPModerationStatusType.Pending)
{
item.ModerationInformation.Status = SPModerationStatusType.Approved;
item.SystemUpdate(false);
}
但现在要将moss2007升级到moss2010,用moss2010+vs2010+QucikFlow开发工作流,上面的代码不能实现审批状态改变,审批状态一直为“待定”,最后经过试验,可用以下代码实现:
同样是在task完成事件中
this.DataFields["_ModerationStatus"] = (int)approveState;
this.DataFields.Update();
虽然实现了,但不知道为什么上面的代码不能实现。