SharePoint 创建带有关联窗体和启动窗体的工作流

时间:2022-04-30 00:31:10 其他范文 收藏本文 下载本文

“默认什么”为你分享5篇“SharePoint 创建带有关联窗体和启动窗体的工作流”,经本站小编整理后发布,但愿对你的工作、学习、生活带来方便。

SharePoint 创建带有关联窗体和启动窗体的工作流

篇1:SharePoint 创建带有关联窗体和启动窗体的工作流

创建 SharePoint 顺序工作流项目

首先,在 Visual Studio 中创建一个顺序工作流项目, 顺序工作流是一系列步骤,这些步骤按顺序执行,直到最后一项活动完成。 在此过程中,您将创建一个应用于 SharePoint 中的“共享文档”列表的顺序工作流。 利用此工作流的向导,您可以将此工作流与网站或列表定义关联,并可以确定工作流的启动时间。

1. 通过指向“文件”菜单上的“新建”并单击“新建项目”,显示“新建项目”对话框。

2. 展开“Visual C#”下的“SharePoint”节点,然后单击“2010”。

3. 在“模板”窗格中选择“顺序工作流”。

4. 在“名称”框中,键入名称,然后单击“确定”。

这将显示“SharePoint 自定义向导”。

5. 在“要使用哪个本地网站进行调试?”页中,单击“下一步”以接受默认网站。

此步骤还会将解决方案的信任级别设置为场解决方案(工作流项目的唯一可用选项)。

6. 在“指定用于调试的工作流名称”页上,接受默认名称(“* - Workflow1”)。 保留默认工作流模板类型值(“列表工作流”)。 单击“下一步”。

7. 在“是否希望 Visual Studio 在调试会话中自动关联工作流?”页中,清除自动关联工作流模板的框(如果此框已选中)。

利用此步骤,您可以稍后手动将工作流与显示关联窗体的“共享文档”列表关联。

8. 单击“完成”。

将关联窗体添加到工作流

接下来,创建一个 .ASPX 关联窗体,当 SharePoint 管理员首次将工作流与文档库或列表相关联时,将显示此窗体。

1. 单击“解决方案资源管理器”中的“Workflow1”节点。

2. 单击“项目”菜单上的“添加新项”以显示“添加新项”对话框。

3. 在该对话框树视图中,展开“Visual C#”,再展开“SharePoint”节点,然后单击“2010”。

4. 在模板列表中,选择“工作流关联窗体”。

5. 在“名称”文本框中,键入 Workflow1AssociationForm.aspx。

6. 单击“添加”按钮将该窗体添加到项目中。

设计关联窗体并对其进行编码

在此过程中,通过在关联窗体中添加控件和代码来引入功能。

1. 在关联窗体 (Workflow1AssociationForm.aspx) 中,找到具有 ID=”Main” 的 asp:Content 元素。

2. 紧接在此内容元素中的第一行后面添加以下代码,以创建一个用于提示输入费用审批限额 (AutoApproveLimit) 的标签和文本框:

3. 展开“解决方案资源管理器”中的“Workflow1AssociationForm.aspx”文件以显示其从属文件。

4. 右击 Workflow1AssociationForm.aspx 文件并选择“查看代码”。

5. 将 GetAssociationData 方法替换为:

private string GetAssociationData

{

return this.AutoApproveLimit.Text;

}

将启动窗体添加到工作流

接下来,创建在用户针对文档库或者列表运行工作流时显示的启动窗体。

创建启动窗体

1. 单击“解决方案资源管理器”中的“Workflow1”节点。

2. 单击“项目”菜单上的“添加新项”以显示“添加新项”对话框。

3. 在该对话框树视图中,展开“Visual C#”,再展开“SharePoint”节点,然后单击“2010”。

4. 在模板列表中,选择“工作流启动窗体”。

5. 在“名称”文本框中,键入Workflow1InitiationForm.aspx。

6. 单击“添加”按钮将该窗体添加到项目中。

设计启动窗体并对其进行编码

对启动窗体进行编码

1. 在启动窗体 (Workflow1InitiationForm.aspx) 中,找到具有 ID=”Main” 的 asp:Content 元素。

2. 紧接在此内容元素中的第一行后面添加以下代码,以创建一个显示已在关联窗体中输入的费用审批限额 (AutoApproveLimit) 的标签和文本框,以及另一个提示输入费用总额 (ExpenseTotal) 的标签和文本框:

3. 展开“解决方案资源管理器”中的“Workflow1InitiationForm.aspx”文件以显示其从属文件。

4. 右击 Workflow1InitiationForm.aspx 文件并选择“查看代码”。

5. 将 Page_Load 方法替换为以下示例:

protected void Page_Load(object sender, EventArgs e)

{

InitializeParams();

this.AutoApproveLimit.Text = workflowList.WorkflowAssociations[new Guid(associationGuid)].AssociationData;

}

6. 将 GetInitiationData 方法替换为以下示例:

// This method is called when the user clicks the button to start the workflow.

private string GetInitiationData()

{

// TODO: Return a string that contains the initiation data that

// will be passed to the workflow.Typically, this is in XML format.

return this.ExpenseTotal.Text;

}

自定义工作流

通过双击项目中的 Workflow1,在工作流设计器中显示工作流。

1. 在工具箱中,展开“Windows Workflow v3.0”节点,并找到“IfElse”活动。

2. 通过将此活动拖动到设计器中并将其放置在工作流中的“onWorkflowActivated1”活动下方,将此活动添加到工作流中,

这将在设计器中创建一个称作 IfElseActivity1 的活动。

3. 在工具箱中,展开“SharePoint 工作流”节点并找到“CreateTask”活动。

4. 通过将此活动拖放到 IfElseActivity1 中的两个“将 Activity 拖放至此”区域之一,将此活动添加到工作流中。

5. 在“属性”窗口中,为 CorrelationToken 属性输入属性值 taskToken。

6. 通过单击 CorrelationToken 属性旁边的加号来展开此属性。

7. 单击 OwnerActivityName 子属性上的下拉箭头并选择 Workflow1。

8. 单击 TaskId 属性,然后单击省略号 按钮以显示“绑定属性”对话框。

9. 单击“绑定到新成员”选项卡,选择“创建字段”,然后单击“确定”。

10. 单击 TaskProperties 属性,然后单击省略号按钮以显示“绑定属性”对话框。

11. 单击“绑定到新成员”选项卡,选择“创建字段”,然后单击“确定”。

12. 在工具箱中,展开“SharePoint 工作流”节点并找到“LogToHistoryListActivity”活动。

13. 通过将此活动拖放到 IfElseActivity1 中的另一个“将 Activity 拖放至此”区域,将此活动添加到工作流中。

在工作流中添加代码

接下来,在工作流中添加代码以引入功能。

1. 在工作流设计器中双击“createTask1”活动,为 MethodInvoking 事件生成一个空方法。

2. 将 MethodInvoking 方法替换为:

private void createTask1_MethodInvoking(object sender, EventArgs e)

{

createTask1_TaskId1 = Guid.NewGuid();

createTask1_TaskProperties1.AssignedTo = “ CONTOSO//administrator”;

createTask1_TaskProperties1.Description = “请批准报销费用”;

createTask1_TaskProperties1.Title = “审批报销费用”;

}

3. 在 MethodInvoking 方法下添加以下示例:

private void checkApprovalNeeded(object sender, ConditionalEventArgs e)

{

bool approval = false;

if (Convert.ToInt32(workflowProperties.InitiationData) >

Convert.ToInt32(workflowProperties.AssociationData))

{

approval = true;

}

e.Result = approval;

}

4. 在工作流设计器中,单击“ifElseBranchActivity1”活动。

5. 在“属性”窗口中,单击“Condition”属性的下拉箭头并选择 Code Condition。

6. 通过单击“Condition”属性旁边的加号来展开此属性,然后将其值设置为 checkApprovalNeeded。

7. 在工作流设计器中,右击“logToHistoryListActivity1”活动并选择“生成处理程序”,以便为 MethodInvoking 事件生成空方法。

8. 将 MethodInvoking 代码替换为下面的内容:

private void logToHistoryListActivity1_MethodInvoking(object sender, EventArgs e)

{

this.logToHistoryListActivity1.HistoryOutcome = “批准的报销: ” + workflowProperties.InitiationData;

}

9. 按 F5 调试程序。

将工作流关联到文档库或列表

接下来,通过将工作流与 SharePoint 网站上的“共享文档”列表相关联来显示工作流关联窗体。

关联工作流

1. 在快速启动栏上单击“共享文档”。

2. 单击“库工具”功能区选项卡上的“库”,然后单击“库设置”功能区按钮。

3. 在“权限和管理”部分中,单击“工作流设置”链接,然后单击“工作流”页上的“添加工作流”链接。

4. 在工作流设置页中的顶部列表中,选择“* - Workflow1”模板。

5. 在下一个字段中,键入 Workflow,然后单击“下一步”按钮。

这会将工作流与“共享文档”列表相关联并显示工作流关联窗体。

6. 在“提交审批的限额”文本框中,键入 1200,然后单击“完成”按钮。

启动工作流

然后将工作流关联到“共享文档”列表中的某个文档以显示工作流启动窗体。

1. 在 SharePoint 页上,单击“主页”按钮,然后通过在快速启动栏上单击“共享文档”链接来显示 SharePoint 网站上的“共享文档”列表。

2. 通过单击页顶部的“库工具”选项卡上的“文档”链接,并单击功能区上的“上载文档”按钮,将新文档上载到“共享文档”列表中。

3. 将鼠标指针指向已上载文档以显示下拉箭头。 单击下拉箭头并选择“工作流”。

这将显示工作流启动窗体。 (请注意,“提交审批的限额”框中显示的值是只读的,因为此值是先前在关联窗体中输入的。)

5. 在“费用总额”文本框中键入 1600,然后单击“启动工作流”。

这将再次显示“共享文档”列表。 将带有“已完成”值的名为“workflow”的新列添加到工作流刚启动的项中。

6. 单击已上载文档旁边的下拉箭头,然后单击“工作流”以显示工作流状态页。 单击“已完成工作流”下的值“已完成”。 这将在“任务”部分下方列出任务。

7. 单击任务的标题以显示其任务详细信息。

8. 返回到“共享文档”列表并使用同一文档或其他文档重新启动工作流。

9. 在启动页上输入一个小于或等于关联页上输入的金额 (1200) 的金额。

在执行此操作时,会在历史记录列表中创建一个项而不是任务。 该项显示在工作流状态页的“工作流历史记录”部分中。 请注意历史记录事件的“结果”列中的消息。 它包含 logToHistoryListActivity1.MethodInvoking 事件中输入的文本,该文本包括已自动审批的金额。

说明:此教程只来说明,工作流关联窗体和启动窗体如何使用,内容简单。较复杂的工作流和比较符合实际业务流程的工作流开发会在以后的教程中涉及。

篇2:Windows 窗体之创建动态上下文菜单.net

以下演练显示如何更改每个控件的菜单项 创建应用程序 以下步骤将创建一个 Windows 应用程序,它具有包含两个控件的窗体,在运行时,如果右击每个控件(只要它具有焦点,即被选定),将显示相应的上下文菜单。RadioButton 控件的上下文菜单将包含两个项;Chec

以下演练显示如何更改每个控件的菜单项

创建应用程序

以下步骤将创建一个 Windows 应用程序,它具有包含两个控件的窗体。在运行时,如果右击每个控件(只要它具有焦点,即被选定),将显示相应的上下文菜单。RadioButton 控件的上下文菜单将包含两个项;CheckBox 控件的上下文菜单将包含三个项。

在 Windows 窗体上创建动态上下文菜单

1.创建新的 Windows 应用程序。

2.将一个“复选框”(CheckBox) 控件和一个“RadioButton”控件从“工具箱”拖到窗体上。

虽然任何两个(或更多个)控件都可以共享一个上下文菜单,但使具有类似命令的控件共享上下文菜单也是有好处的,因为这样可以减少必需动态显示及隐藏的量。

3.双击“工具箱”中的“ContextMenu”组件,将其添加到窗体中。它将成为共享的上下文菜单。

4.在“属性”窗口中,将 CheckBox 控件和 RadioButton 控件的 ContextMenu 属性设置为 ContextMenu1(在 C# 中为 contextMenu1)。

5.在“属性”窗口中,将 CheckBox 控件的 ThreeState 属性设置为 true。

6.从设计器中双击 ContextMenu 组件,为该组件的 Popup 事件创建默认的处理程序。在事件处理程序中插入执行以下任务的代码:

・添加两个菜单项,一个表示控件的 Checked 状态,另一个表示 Unchecked 状态。

・用 If 语句检验 CheckBox 控件是否为窗体上的 SourceControl。根据检验结果,动态地添加第三个菜单项,该菜单项表示控件的 Indeterminate 状态。

以下示例显示如何使用 Add 方法来设置菜单项的 Text 属性以及如何定义与该菜单项相关联的事件处理程序。

private void contextMenu1_Popup(object sender, System.EventArgs e)

{ contextMenu1.MenuItems.Clear;

contextMenu1.MenuItems.Add(“Checked”,new System.EventHandler(this.Checked_OnClick));

contextMenu1.MenuItems.Add(“Unchecked”,new System.EventHandler(this.Unchecked_OnClick));

if (contextMenu1.SourceControl == checkBox1)

{

this.contextMenu1.MenuItems.Add(“Indeterminate”, new System.EventHandler(this.Indeterminate_OnClick));

} }

为 MenuItem1 创建一个事件处理程序,

添加如下代码,检验窗体的 SourceControl 属性,然后根据检验结果设置 RadioButton 或 CheckBox 控件的 Checked 属性:

protected void Checked_OnClick(System.Object sender, System.EventArgs e)

{ if (contextMenu1.SourceControl == radioButton1)

radioButton1.Checked = true;

else if (contextMenu1.SourceControl == checkBox1)

checkBox1.Checked = true;

}

注意:此示例在 Indeterminate_OnClick 事件处理程序中使用 CheckState 属性将 CheckBox 控件设置为Indeterminate。

为 MenuItem2 创建类似的事件处理程序。为该事件处理程序输入如下代码:

protected void Unchecked_OnClick(System.Object sender, System.EventArgs e)

{ if (contextMenu1.SourceControl == radioButton1)

radioButton1.Checked = false;

else if (contextMenu1.SourceControl == checkBox1)

checkBox1.Checked = false;

}

为 MenuItem3 创建类似的事件处理程序。为该事件处理程序输入如下代码,确保将事件命名为 Indeterminate_OnClick:

protected void Indeterminate_OnClick(System.Object sender, System.EventArgs e)

{ if(contextMenu1.SourceControl == checkBox1)

checkBox1.CheckState = System.Windows.Forms.CheckState.Indeterminate;

}

原文转自:http://www.ltesting.net

篇3:SharePoint 创建和调试SharePoint工作流解决方案

向 SharePoint 文档库中添加栏

1.打开一个 SharePoint 网站 ,

2.新建一个文档库。 文档库的名字可取为“共享文档”

3.在“库工具”功能区上单击“库”,然后单击该功能区上的“创建列”按钮以创建新列。

4.将该列命名为“文档状态”,将其类型设置为“选项(要从中选择的菜单)”,指定以下三个选项,然后单击“确定”:

·需要评审

·评审完成

·请求更改

5.再创建两列并将它们命名为“受理人”和“评审注释”。 将“受理人”列类型设置为单行文本,将“评审注释”列类型设置为多行文本。

使文档无需签出即可编辑

如果无需签出文档即可进行编辑,则测试工作流模板会更容易一些。 在下一个过程中,您将配置 SharePoint 网站以达到此目的。

1.单击“共享文档”。

2.在“库工具”功能区上单击“库”,然后单击“库设置”按钮以显示“文档库设置”页。

3.在“常规设置”部分中,单击“版本控制设置”以显示“版本控制设置”页。

4.验证“要求先签出文档然后再对其进行编辑”的设置是否为“否”。 如果不是这样,请将其更改为“否”,然后单击“确定”。

创建 SharePoint 顺序工作流项目

顺序工作流是按顺序执行直到最后一个活动完成的一组步骤。 在此过程中,我们将创建一个将应用于“共享文档”列表的顺序工作流。 利用此工作流向导,您可以将工作流与网站定义或列表定义关联,并可以确定工作流的启动时间。

启动 Visual Studio,然后通过指向“文件”菜单上的“新建”并单击“项目”,显示“新建项目”对话框。

1.展开“Visual C#”下的“SharePoint”节点,然后单击“2010”。

2.在“模板”窗格中选择“顺序工作流”。

3.在“名称”框中,键入 MySharePointWorkflow,然后单击“确定”。

这将显示“SharePoint 自定义向导”。

4.在“要使用哪个本地网站进行调试?”页中,单击“下一步”以接受默认网站。

5.在“指定用于调试的工作流名称”页上,接受默认名称(“MySharePointWorkflow - Workflow1”)。 保留默认工作流模板类型值“列表工作流”,然后单击“下一步”。

6.在“是否希望 Visual Studio 在调试会话中自动关联工作流?”页中,单击“下一步”以接受所有默认设置。 此步骤会自动将工作流与共享文档库关联。

7. 在“指定确定工作流启动方式的条件”页上,将“您希望如何启动工作流?”部分中的默认选项保持选中状态,然后单击“完成”。

可利用此页指定工作流启动的时间。 默认情况下,当用户在 SharePoint 中手动启动工作流时,或在创建与工作流关联的项时,工作流将启动。

创建工作流活动

工作流包含一个或多个表示要执行的操作的活动。 使用工作流设计器可为工作流安排活动。 在此过程中,我们将向工作流中添加两个活动:HandleExternalEventActivity 和 OnWorkFlowItemChanged。 这些活动将监视“共享文档”列表中文档的评审状态。

1.工作流应显示在工作流设计器中。 如果不是这样,请双击“解决方案资源管理器”中的“Workflow1.cs”以打开工作流。

2.在设计器中,单击选择“OnWorkflowActivated1”活动。

3.在“属性”窗口中,在“Invoked”属性旁键入 onWorkflowActivated,然后按 Enter。

代码编辑器将会打开,一个名为“onWorkflowActivated”的事件处理程序方法被添加到 Workflow1 代码文件中。

4.切换回工作流设计器,打开工具箱,然后展开“Windows Workflow v3.0”节点。

5.从“工具箱”的“Windows Workflow v3.0”节点拖动一个“While”活动,并将该活动与“onWorkflowActivated1”活动下的行连接。

6.单击选择“WhileActivity1”活动。

7.在“属性”窗口中,将“Condition”设置为“代码定义”。

8. 展开“Condition”属性,在“Condition”属性旁键入 isWorkflowPending,然后按 Enter。

代码编辑器将会打开,一个名为 isWorkflowPending 的方法被添加到 Workflow1 代码文件中。

9.切换回工作流设计器,打开工具箱,然后展开“SharePoint 工作流”节点,

10.从“工具箱”的“SharePoint 工作流”节点拖动一个“OnWorkflowItemChanged”活动,并将该活动与“whileActivity1”活动中的行连接。

11.单击选择“onWorkflowItemChanged1”活动。

2.在“属性”窗口中,如下表所示设置属性。

属性值 CorrelationTokenworkflowToken InvokedonWorkflowItemChanged

处理活动事件

最后,检查每个活动后文档的状态。 如果文档已经过评审,则工作流将完成。

1.在 Workflow1.cs中,将以下字段添加到 Workflow1 类的顶部。 在活动中使用此字段可确定工作流是否已完成。

Boolean workflowPending = true;

2.将下面的方法添加到 Workflow1 类中。 此方法检查“文档”列表的 “文档状态” 属性的值,以确定文档是否已评审。 如果“文档状态”属性设置为 “评审完成”,checkStatus 方法就将 workflowPending 字段设置为 false 以指示工作流可以完成。

private void checkStatus

{

if ((string)workflowProperties.Item[“文档状态”] == “评审完成”)

workflowPending = false;

}

3.将下面的代码添加到 onWorkflowActivated 和 onWorkflowItemChanged 方法以调用 checkStatus 方法。 当工作流开始时,onWorkflowActivated 方法调用 checkStatus 方法以确定文档是否已评审。 如果文档尚未评审,则工作流继续。 保存文档时,onWorkflowItemChanged 方法再次调用 checkStatus 方法以确定文档是否已评审。 如果 workflowPending 字段设置为 true,则工作流继续运行。

private void onWorkflowActivated(object sender, ExternalDataEventArgs e)

{

// Check the status.

checkStatus();

}

private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)

{

// Check the status.

checkStatus();

}

4.向 isWorkflowPending 方法中添加以下代码以检查 workflowPending 属性的状态。 每次保存文档时,“whileActivity1”活动都会调用 isWorkflowPending 方法。 此方法检查 ConditionalEventArgs 对象的 Result 属性,以确定“WhileActivity1”活动应继续还是完成。 如果该属性设置为 true,则活动继续。 否则,活动完成并且工作流也完成。

private void isWorkflowPending(object sender, ConditionalEventArgs e)

{

e.Result = workflowPending;

}

5.保存项目。

测试 SharePoint 工作流模板

启动调试器时,Visual Studio 将工作流模板部署到 SharePoint Server,并将该工作流与“共享文档”列表相关联。 若要测试工作流,请从“共享文档”列表中的某个文档启动工作流的一个实例。

1.在 Workflow1.cs中,在“onWorkflowActivated”方法旁设置一个断点。

2.按 F5 生成并运行解决方案。SharePoint 网站将出现。

3.在 SharePoint 中的导航窗格中单击“共享文档”。

4.在“共享文档”页中,单击“库工具”选项卡上的“文档”,然后单击“上载文档”按钮以上载文档。

5.在“上载文档”对话框中,单击“浏览”按钮,选择任何文档文件,单击“打开”,然后单击“确定”。

这会将选定文档上载到“共享文档”列表中并启动工作流。

6.在 Visual Studio 中,确认调试器是否在onWorkflowActivated 方法旁的断点处停止。

7.按 F5 继续执行。

8.虽然您可以在此处更改文档的设置,但此时请单击“保存”以保留这些文档设置的默认值。

这将返回到默认 SharePoint 网站的“共享文档”页。

9.在“共享文档”页中,验证“MySharePointWorkflow”列下方的值是否设置为“正在进行中”。 这指示工作流正在进行中,文档在等待评审。

10.在“共享文档”页中,指向该文档,单击向下箭头,然后单击“编辑属性”。

11.将“文档状态”设置为“评审完成”,然后单击“保存”。

这将返回到默认 SharePoint 网站的“共享文档”页。

12.在“共享文档”页中,验证“MySharePointWorkflow”列下方的值是否设置为“评审完成”。 这指示工作流已完成,文档已评审。

本文参考msdn文档完成。

篇4:SharePoint工作流开发点滴 “启动时失败”的查错方法

首先在OnWorkflowActivated方法中设置断点来调试,检查断点是否可以成功暂停,如果可以,则可以再 检查一下OnWorkflowActivated中的逻辑代码.

如果断点处不停止就出现了“启动时失败”的错误,也就是说错误发生在工作流激活之前,这种情况就可 以排除代码的错误,检查infopath表单和workflow.xml即可.

infopath表单的配置较为麻烦,甚至连命名都是有规则的,需要多加注意.

另外,如果工作流包含关联表单(Association),那么初始化表单(Instantiation)中必须包含关联表单 中定义的域.

如果还是找不出错误的来源,那么,记住工作流启动时的时间,检查SharePoint日志吧.日志的目录 是:

$:Program FilesCommon FilesMicrosoft Sharedweb server extensions12LOGS

最后再引用一句Kaneboy的签名:

“玩SharePoint就像是魔术,你不知道它为什么工作,也不知道它为什么不工作.”

篇5:SharePoint 工作流解决方案之创建自定义网站工作流活动

创建自定义网站工作流活动

首先,创建一个用来包含和测试自定义工作流活动的项目,

创建网站工作流自定义活动项目

1.通过指向“文件”菜单上的“新建”并单击“新建项目”,显示“新建项目”对话框。

2.展开“Visual C#”下的“SharePoint”节点,然后单击“2010”。

3.在“模板”窗格中选择“顺序工作流”。

4.在“名称”框中,键入YunCode.WorkFlow.CustomActivity,然后单击“确定”。

这将显示“SharePoint 自定义向导”。

5.在“要使用哪个本地网站进行调试?”页中,单击“下一步”以接受默认网站。

此步骤还会将解决方案的信任级别设置为场解决方案(工作流项目的唯一可用选项)。

在“指定用于调试的工作流名称”页上,接受默认名称 (YunCode.WorkFlow.CustomActivity – CAWorkflow)

6.将工作流模板类型更改为“网站工作流”,然后单击“下一步”。

7.单击“完成”以接受剩余的默认设置。

添加自定义工作流活动类

接下来,向项目中添加一个类以包含自定义工作流活动的代码。

1.单击“项目”菜单上的“添加新项”以显示“添加新项”对话框。

2.在“已安装的模板”树视图中,单击“代码”节点,然后在项目项模板列表中单击“类”。 使用默认名称 Class1。

3.将 Class1 中的所有代码替换为:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; // www.bianceng.cnnamespace YunCode.WorkFlow.CustomActivity {public class Class1 : System.Workflow.ComponentModel.Activity{ public Class1() { } protected override System.Workflow.ComponentModel.ActivityExecutionStatus Execute(System.Workflow.ComponentModel.ActivityExecutionContext executionContext) { try{SPSite site = new SPSite(“http://” + System.Environment.MachineName);SPWeb web = site.OpenWeb(“/”);SPList aList = web.GetList(“/Lists/Announcements”);try { SPList bList = web.GetList(“/Lists/Announcements Backup”); bList.Delete();}catch { }Guid newAnnID = web.Lists.Add(“Announcements Backup”, “A backup Announcements list.”, SPListTemplateType.Announcements);SPList bakList = web.Lists[newAnnID];foreach (SPListItem item in aList.Items){ SPListItem newAnnItem = bakList.Items.Add(); foreach (SPField field in aList.Fields) { if (!field.ReadOnlyField)newAnnItem[field.Id] = item[field.Id]; } newAnnItem.Update();}bakList.OnQuickLaunch = true;bakList.Update(); } catch (Exception errx) {System.Diagnostics.Debug.WriteLine(“Error: ” + errx.ToString()); } return base.Execute(executionContext); }} }

4.保存项目,然后单击“生成”菜单上的“生成解决方案”,

Class1 将作为工具箱中“SharePoint 工作流”选项卡下的“工具箱”中的自定义操作出现。

向网站工作流中添加自定义活动

接下来,向工作流中添加一个活动以包含自定义代码。

1.在设计视图中,在工作流设计器内打开 Workflow1。

2.单击 Class1 并将其从工具箱中拖放到 onWorkflowActivated1 活动下方。

3.保存项目

测试网站工作流自定义活动

紧接着,运行项目并启动网站工作流。 自定义活动会创建一个备份的公告列表,然后将当前公告列表中的内容复制到该列表中。 在创建备份列表之前,代码还会检查是否已存在备份列表。 如果已存在备份列表,则会将其删除。 代码还会向 SharePoint 网站的快速启动栏上的新列表中添加链接。

1.按 F5 运行项目,并将其部署到 SharePoint。

2.在快速启动栏上,单击“列表”以显示 SharePoint 网站中可用的所有列表。 请注意,仅有一个名为“公告”的公告列表。

3.在 SharePoint 网页顶部,单击“网站操作”按钮,再单击“网站工作流”。 在“启动新工作流”部分下,单击 YunCode.WorkFlow.CustomActivity – CAWorkflow 的链接。 这将启动网站工作流,并运行自定义操作中的代码。

4.单击快速启动栏上显示的名为“Announcements Backup”(通知备份)的链接。 请注意,“通知”列表中包含的所有公告已复制到此新列表中。

Office 特色功能介绍和点评

Office字体概念介绍

初学摄影心得体会感想

毕业生特色介绍范文

vb试题及答案

浅谈图书馆收费管理

用Excel制作自动记录的考勤表

9月全国计算机等级考试二级VFP笔试试卷

9月全国计算机等级考试二级C语言笔试试卷

如何设置ACCESS(运行时)的宏安全性级别数据库教程

SharePoint 创建带有关联窗体和启动窗体的工作流
《SharePoint 创建带有关联窗体和启动窗体的工作流.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【SharePoint 创建带有关联窗体和启动窗体的工作流(共5篇)】相关文章:

教师的教案怎么写2022-12-12

教师活页教案2023-12-02

vb课程设计心得体会2023-03-22

教师教案模板2024-04-19

备课教案2022-05-07

全国计算机等级考试三级笔试样题(PC技术)2023-09-17

大白菜超级u盘启动制作工具完整使用教程(精)2022-06-03

如何学好Access数据库编程2023-04-30

ACCESS数据库中Field对象的caption属性读写数据库教程2023-06-16

计算机试题2022-10-16

点击下载本文文档