• sharepoint 下Infopath 表单启动工作流


    using Microsoft.Office.InfoPath;
    using System;
    using System.Xml;
    using System.Xml.XPath;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Workflow;
    using System.Web;
    
    namespace 表单109
    {
        public partial class FormCode
        {
            // 启用浏览器功能的表单不支持成员变量。
            // 请使用代码从 FormState 词典
            // 写入和读取这些值,如下所示:
            //
            // private object _memberVariable
            // {
            //     get
            //     {
            //         return FormState["_memberVariable"];
            //     }
            //     set
            //     {
            //         FormState["_memberVariable"] = value;
            //     }
            // }
    
            // 注意: 以下是 Microsoft InfoPath 所需的过程。
            // 可以使用 Microsoft InfoPath 对其进行修改。
            public void InternalStartup()
            {
                ((ButtonEvent)EventManager.ControlEvents["btnsubmit"]).Clicked += new ClickedEventHandler(btnsubmit_Clicked);
                ((ButtonEvent)EventManager.ControlEvents["btnsave"]).Clicked += new ClickedEventHandler(btnsave_Clicked);
                ((ButtonEvent)EventManager.ControlEvents["btnclose"]).Clicked += new ClickedEventHandler(btnclose_Clicked);
    
    
                EventManager.FormEvents.Loading += new LoadingEventHandler(FormEvents_Loading);
            }
        
            public void btnsubmit_Clicked(object sender, ClickedEventArgs e)
            {
                // 在此处编写代码。
                // 在此处编写代码。
                //    XPathNavigator field2 = this.MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:标题", NamespaceManager);
    
                FileSubmitConnection osssubmit = (FileSubmitConnection)this.DataConnections["OSSSubmit"];
    
                string tempfilename = DateTime.Now.ToString("yyyyMMddHHmmss");
                //设置提交表单的文件名
                osssubmit.Filename.SetStringValue(tempfilename + ".xml");
                //执行提交
                osssubmit.Execute();
    
                try
                {
    
    
                    using (SPSite mysite = new SPSite(osssubmit.FolderUrl))
                    {
    
                        string workflowName = "TestInfoPath";
                        string fileurl = osssubmit.FolderUrl + "/" + tempfilename + ".xml";
                        if (osssubmit.FolderUrl.EndsWith("/"))
                        {
                            fileurl = osssubmit.FolderUrl + tempfilename + ".xml";
                        }
                        SPList mylist = mysite.RootWeb.GetList(osssubmit.FolderUrl);
    
                        SPListItem mylistitem = mysite.RootWeb.GetListItem(fileurl);
    
                        SPWorkflowAssociation mywfass = mylist.WorkflowAssociations.GetAssociationByName(workflowName, System.Globalization.CultureInfo.CurrentCulture);
                        string EventData = mywfass.AssociationData;
                        mysite.AllowUnsafeUpdates = true;
                        mysite.RootWeb.AllowUnsafeUpdates = true;
                        //根据设定的信息,启动工作流
                        mysite.WorkflowManager.StartWorkflow(mylistitem, mywfass, EventData);
                        // SPUtility.Redirect(osssubmit.FolderUrl, SPRedirectFlags.DoNotEndResponse, HttpContext.Current);
                    }
                }
                catch (Exception ex)
                {
    
                }
            }
    
            public void btnsave_Clicked(object sender, ClickedEventArgs e)
            {
                // 在此处编写代码。
    
                FileSubmitConnection osssubmit = (FileSubmitConnection)this.DataConnections["OSSSubmit"];
    
                string tempfilename = DateTime.Now.ToString("yyyyMMddHHmmss");
                //设置提交表单的文件名
                osssubmit.Filename.SetStringValue(tempfilename + ".xml");
                //执行提交
                osssubmit.Execute();
                
            }
    
            public void btnclose_Clicked(object sender, ClickedEventArgs e)
            {
                // 在此处编写代码。
                
            }
            public void loadinfo()
            {
                FileSubmitConnection osssubmit = (FileSubmitConnection)this.DataConnections["OSSSubmit"];
    
                using (SPSite mysite = new SPSite(osssubmit.FolderUrl))
                {
    
                    XPathNavigator field2 = this.MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:填写人", NamespaceManager);
                    string username = mysite.RootWeb.CurrentUser.LoginName;
                    field2.SetValue(username);
                }
            }
            public void FormEvents_Loading(object sender, LoadingEventArgs e)
            {
                // 在此处编写代码。
                loadinfo();
            }
        }
    }
    
  • 相关阅读:
    尚未笔记知识点
    jsonp的原理及其使用
    django中将views.py中的python方法传递给html模板文件
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA 1600 Patrol Robot
    UVA
  • 原文地址:https://www.cnblogs.com/netboys/p/3068435.html
Copyright © 2020-2023  润新知