如何在MS Sharepoint中访问工作流的历史记录结果?

时间:2011-11-08 14:14:50

标签: visual-studio sharepoint workflow

我目前正在使用Microsoft Visual Studio为MS Sharepoint创建一个webpart。请问如何访问实现工作流程的库/列表以获取工作流历史记录和结果?

目前我有代码可以访问各个字段,即获取列表的不同列:

SPSite site = new SPSite("http://win7:8000/RIDepartment/");
SPWeb oweb = site.OpenWeb();
SPList tasklist = oweb.Lists["Innovation workflow list"];

然后得到第一项,我使用tasklist [0]。但是我无法从那里获得工作流程,谢谢。

梅尔文

1 个答案:

答案 0 :(得分:0)

请查看各种工作流程教程https://www.google.com/search?q=sharepoint+2010+workflow+tutorial+c%23

您需要通过SPListItem.Workflows获取列表项的工作流程。从返回的SPWorkflow获得正确的SPWorkflowCollection后,您可以通过HistoryListIdTaskListId属性(see the SPWorkflow doc)获取相关的历史记录列表和任务列表。

所以基本上这样的事情应该有效:

SPListItem item = tasklist[0];
SPWorkflow workflow = item.Workflows[0];
SPList historyList = workflow.HistoryList;
SPList taskList = workflow.TaskList;

然而,这段代码非常糟糕,所以只使用它作为起点,你也不应该使用[0],而是获得你真正想要的工作流程(例如,知道它的名字)。 < / p>