king71 发表于 2019-2-3 13:47:05

VS2010开发SharePoint Workflow (一)

  上周研究了一下利用Visual Studio 2010开发SharePoint工作流,当然,重点是使用自定义的任务编辑页面(Custom Task Edit Page)。在网上找了很多资料,大部分都是用Infopath来做,但我想说的是:不是每台SharePoint服务器都可以使用InfoPath Form Service,但是每台SharePoint服务器都可以使用SharePoint Foundation Workflow.
  好了,进入正题,我把自己做的一个例子放上来,希望能给学习SharePoint Workflow的朋友一点帮助。
  基本的代码结构如图:
http://blog.运维网.com/attachment/201106/084021999.png
  本人比较懒,所以没有改缺省文件的名称。
  Workflow的Elements.xml文件如下图:
http://blog.运维网.com/attachment/201106/091023914.png
  列表结构也很简单,只需要新建一个'Custom List', 然后新建三个字段:'Approver' -- User类型,'Expense Account' -- Number类型,以及'Comment' -- Text类型。
http://blog.运维网.com/attachment/201106/084235124.png
  该流程模拟一个审批流程,如果'Approver'就是流程的发起者,则不会生成Task,否则,就会生成一个Task去进行审批。
  新建一个Item并手动启动工作流,由于当前用户和Approver不是同一个人,可以看到有个Task生成了。
http://blog.运维网.com/attachment/201106/085144625.png
  点击task进行编辑,就会弹出我们自己定义的taskEdit.aspx页面。
http://blog.运维网.com/attachment/201106/085414242.png
  我们将'Expense Account'字段的值显示在页面中,并且当我们处理完task后,在此处输入的'Comments'的值也会返回到'Comment'字段中去。
  审批完后,返回列表,即可看到我们刚才输入的'Comments'值。
http://blog.运维网.com/attachment/201106/085911206.png
  具体代码请看附件。
  Summary
  此例子的重点在于:
  1. 使用自定义的任务编辑页面(Custom Task Edit Page);
  2. Custom Task Edit Page与工作流之间的数据传递;
  3. Custom ConentType的创建以及TaskListContentTypeId属性的使用。


附件:http://down.运维网.com/data/2358451

页: [1]
查看完整版本: VS2010开发SharePoint Workflow (一)