我目前正在使用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]。但是我无法从那里获得工作流程,谢谢。
梅尔文
答案 0 :(得分:0)
请查看各种工作流程教程https://www.google.com/search?q=sharepoint+2010+workflow+tutorial+c%23
您需要通过SPListItem.Workflows
获取列表项的工作流程。从返回的SPWorkflow
获得正确的SPWorkflowCollection
后,您可以通过HistoryListId
和TaskListId
属性(see the SPWorkflow doc)获取相关的历史记录列表和任务列表。
所以基本上这样的事情应该有效:
SPListItem item = tasklist[0];
SPWorkflow workflow = item.Workflows[0];
SPList historyList = workflow.HistoryList;
SPList taskList = workflow.TaskList;
然而,这段代码非常糟糕,所以只使用它作为起点,你也不应该使用[0],而是获得你真正想要的工作流程(例如,知道它的名字)。 < / p>