目的:这两天我在学习MOSS中关于infopath的内容,多少遇到了些问题,下面总结下我的学习心得,希望新手们能够少走弯路,快速入门。
infopath2007简单说明:
infopath services它是一种服务器技术,用户可以在浏览器上直接查看表单,填写表单,重要的是用户可以不安装info path客户端。企业可以利用它作为数据采集和流程审批的基础。infopath07比03版本最大的区别就是能够脱离infopath环境,而且能够发布到浏览器上。infopath表单可以作为界面设计器以及数据展示交互,它包含了非常丰富的控件,还包含了控件的规则以及数据验证,当用户提交表单时会根据生成js脚本来验证数据的正确性,而且是无刷新的,非常不错。
infopath表单的创建:
infopath表单可以是完全无代码的表单,也可以是有托管代码的InfoPath表单。带代码的表单需要一个名叫VSTA的工具来开发。这里我想讲下带有代码的表单。
创建带代码表单的方式:
1:利用office组件infopath定制表单,通过VSTA编写相关的逻辑代码;
2:通过VS05或者是08建立infopath表单项目。
下面主要讲第一种方式的应用及需要注意的地方。
第一部分:创建带有代码的表单需要注意的几个方面:
1:表单的兼容性,表单最终是展示给用户看的,而展现形式大部分都是以WEB方式,所有创建的表单要能在浏览器中显示。步骤如下:
1):设计任务-检查设计方案,如下图所示,这里同时可以验证程序是否正确。
2):在表单选项窗口中,确保图中红色部分打上勾。
2:表单编程语言的设置,工具-表单选项-编程,好下图好示,在表单模板代码语言中选好相应语言,默认是VB,设置好代码存放位置。
3:表单信任级别及证书,要想WEB用户能够顺利的访问我们的表单模板,需要调整信任级别和选择或者是创建证书。步骤:工具-表单选项-安全和信任,去掉自动确定级别,手动选中下面的完全信任。同时,“表单模版签名”要选择“为此表单模版签名”。在此处,我们使用windows自己的证书。即选择“创建证书”:确认即可。
4:如何查看已经创建成功且已经激活过的表单模板路径,即以后XmlFormView的属性XsnLocation。我们可以借用sharepoint designer查看,具体操作不多说,效果好下图:
5:后台代码如何访问表单中的表单项?一般用asp.net写程序都是用this.控件ID,来操作,而在MOSS中是通过MainDataSource.CreateNavigator()返回一个XPathNavigator对象,从而得到文档的描述,之后使SelectSingleNode进行节点选择。XML代码如下:进行节点匹配时的规则是这样的:/my:myFields/my:field1默认情况下更改最好的field1即可。
<?xmlversion=""1.0""?>
<?"?>
<?"http://www.w3.org/2001/XMLSchema-instance""
xmlns:my=""http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-01-12T07:36:42""
xmlns:xd=""http://schemas.microsoft.com/office/infopath/2003""xml:lang=""zh-cn"">"r"n"t
<my:field1>2009-1-1314:49:34</my:field1>"r"n</my:myFields>
第二部分:创建带代码表单的步骤:
1:在infopath2007中创建一个空的表单,可以修改数据源的组名,默认为myFields。
2:设置好表单的编程语言,代码位置,以及浏览器兼容性。
3:代码的编写:双击提交按钮,单击"编辑表单代码",如果系统安装了VSTA,则会打开VSTA界面。单击工具菜单中的"工具"-编程-Loading事件,最终的代码如下:
publicvoidInternalStartup()
{
((ButtonEvent)EventManager.ControlEvents["CTRL2_5"]).Clicked+=newClickedEventHandler(CTRL2_5_Clicked);
EventManager.FormEvents.Loading+=newLoadingEventHandler(FormEvents_Loading);
}
publicvoidCTRL2_5_Clicked(objectsender,ClickedEventArgse)
{
//在此处编写代码。
try
{
stringstr="现在的时间是:"+DateTime.Now.ToString();
MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",NamespaceManager).SetValue(str);
}
catch(Exceptionex)
{
MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",NamespaceManager).SetValue(ex.Message);
}
}
publicvoidFormEvents_Loading(objectsender,LoadingEventArgse)
{
//在此处编写代码。
try
{
stringstr=DateTime.Now.ToString();
MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",NamespaceManager).SetValue(str);
}
catch(Exceptionex)
{
MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",NamespaceManager).SetValue(ex.Message);
}
}
代码说明:
1:InternalStartup:初始化和绑定事件处理程序。
2:FormEvents.Loading 事件在加载了表单模板之后、初始化任何视图之前发生。
3:表单项相关:
//返回一个XPathNavigator对象
XPathNavigatorxn=this.MainDataSource.CreateNavigator();
//找到对应结点;
XPathNavigatorfield1=xn.SelectSingleNode("/my:myField/my:field1",this.NamespaceManager);
//为结点设置值;
field1.SetValue("helloworld!");
4:表单还有其它一些事件,具体的可查阅下MSDN。
第三部分:创建一个表单库。如何新建一个表单库我就不啰嗦了,值得注意的是在之前讲过infopath2007能够脱离infopath环境,让用户可以在浏览器中操作表单,默认表单打开方式是infopath,实现步骤:在MOSS网站中点击"网站操作"
-查看所有网站内容-点击创建的表单库-设置-表单库设置-高级设置-打开启用了浏览器的文档 设置为"显示为网页"。如下图:
第四部分:发布表单。带有代码的表单是需要管理审批才能使用的,大概步骤如下:
1:可以利用infopath本身的发布功能,一步一步来应该问题不大;
2:打开MOSS管理中心-应用程序管理-上载表单模板,选择之前保存的表单模板文件,建议在上载之前先验证下表单模板,通过验证后再开始上载,上载成功后会转到"管理表单模板"页面,找到刚才的表单,选择表单下拉框下的"激活到网站集",到此需要管理员审核的表单已经发布成功而且已经激活,也就是说用户可以在网站中使用这个表单模板了。
3:在自定义页面中添加表单,表单是以模板形式展现的,它不是一个web part,所有需要有一个容器来存放它,这里可以利用xmlformview,这个控件是需要部署的,怎么部署这里不是重点,在控件库中导入成功后,就可以在页面中使用,在自定义页面添加一个xmlformview控件,然后它有一个最重要的参数XsnLocation,它是指模板文件的路径,这个路径可以通过sharepoint desinger来查看,具体方法在文章最上面已经有说明。这个控件的主要参数说明如下:
属性分类:
|
属性名称:
|
含义:
|
功能 |
ShowHeader |
显示上面的工具栏 |
|
ShowFooter |
显示下面的工具栏 |
|
EditingStatus |
编辑状态设置:Init,Closed,Edting,
在页面中设置成Edting就OK。
|
数据绑定 |
XsnLocation |
表单模板的地址
(形如:http://jiangmin:8000/FormServerTemplates/Code9release.xsn)
|
总结:上面文章从创建infopath表单,发布表单,审核表单,应用表单比较全面的说明了infopath表单带托管代码的具体应用,大家有什么好的做法,希望多多指教!
分享到:
相关推荐
InfoPath 2007是一款强大的表单设计工具,它允许开发者创建交互式、数据驱动的电子表单,这些表单可以集成到SharePoint环境中。InfoPath表单不仅可以收集和验证用户输入的数据,还能通过XML数据模型与其他系统进行...
InfoPath 2007 和 SharePoint 2007 的集成允许开发者创建带有托管代码的表单模版,这些模版能够发布到 SharePoint 表单库,并且支持用户通过浏览器进行访问。以下是对这个主题的详细说明: 1. **创建 InfoPath 表单...
标题“利用 INFOPATH 2007 开发 MOSS 工作流”指出了本文档的核心内容,即如何使用Microsoft InfoPath 2007这一表单设计工具来开发Microsoft Office SharePoint Server (MOSS)的工作流。InfoPath 2007允许用户创建...
MOSS2007提供的InfoPath Form Services服务让不安装客户端的用户在浏览器中访问并填写InfoPath表单。结合InfoPath客户端在设计表单,数据搜集方面的优势,利用MOSS2007的Form Services服务,可以方便的构建电子表单...
InfoPath是一款由微软公司开发的表单设计和数据收集工具,它主要用于构建企业级的电子表单应用,以便用户能够创建、填写、提交和管理数据。InfoPath的强大之处在于其结合了直观的可视化表单设计界面与编程能力,使得...
InfoPath可以与MOSS紧密集成,使用户能够创建、发布和管理自定义的业务表单。这些表单可以在SharePoint网站上进行填充,数据可以直接存储在SharePoint列表或者内容数据库中。通过这种方式,InfoPath提供了更高级别的...
本篇文章将深入探讨InfoPath的数据处理、Workflow的工作流设计以及MOSS(Microsoft Office SharePoint Server)的角色和关键开发要点。 InfoPath是一个强大的表单设计工具,它允许开发者创建高度自定义的电子表单,...
InfoPath2007 是 InfoPath 系列中的一款版本,本文将深入浅出地介绍如何将带有托管代码的 InfoPath2007 表单模板发布到 SharePoint Server 2007 的表单库中,并使得最终用户可以通过浏览器方式访问。 一、创建 ...
Visual Studio Tools for Applications (VSTA)简化了带有托管代码的表单开发,且与Visual Studio兼容,降低了开发门槛。 总的来说,Infopath为SharePoint网站开发提供了一套强大的表单设计和实施工具,尤其适合需要...
- **Microsoft Office SharePoint Server 2007 SDK (最新1.3版本)**:包含了API文档、示例代码和其他资源,有助于开发基于MOSS的应用程序和服务。 2. **开发步骤**: - **创建SharePoint顺序化工作流类库工程**:...
4. 定制化解决方案:InfoPath允许开发人员扩展其功能,创建满足特定业务需求的定制化表单应用。 四、学习InfoPath 2007的重要性 掌握InfoPath 2007对于企业信息管理人员、IT专业人员以及希望通过技术提升工作效率的...
Infopath 是一款由微软推出的用于创建、填写以及管理表单的应用程序。它提供了丰富的表单设计功能,可以创建复杂的业务表单,并能够与Sharepoint等平台进行集成。本文将详细介绍使用Visual Studio 2008开发的...
Infopath是一个由微软开发的信息收集工具,主要用于设计、发布和管理XML表单,它允许用户无需编程就可以创建复杂的表单,并且能够将这些表单部署为基于Web的应用程序。Infopath表单通常在Microsoft Office InfoPath ...
Infopath与MOSS(Microsoft Office SharePoint Server)的结合使用,主要集中在创建和管理基于表单的工作流,这是一项强大的业务流程自动化工具。Infopath用于设计交互式表单,而MOSS则提供了工作流管理和协作平台。...
"MOSS开发常用集锦"是一个关于Microsoft Office SharePoint Server (MOSS)开发的学习资源集合,主要针对SharePoint 2007平台。MOSS是微软提供的一个企业级内容管理和协作平台,它允许组织构建和管理网站、文档库、...
sadadadadadASASAASAASASASAASASAS
Infopath解决方案是微软提供的一种强大的表单设计工具,主要用于创建复杂的业务表单,与Microsoft Office SharePoint Server (MOSS) 集成,实现数据收集、处理和管理。Infopath 2007 是该系列的一个版本,它允许用户...
该产品旨在帮助企业简化表单驱动的业务流程,通过创建和部署电子表单,使得信息的收集、管理和控制更为便捷。 InfoPath 2007 的核心优势在于其能够提升信息收集的效率。它通过提供易于填写的电子表单,减少冗余数据...
Infopath 2007 是微软提供的一款用于创建和管理表单的应用程序,它与Microsoft Office SharePoint Server (MOSS) 2007紧密集成,允许用户设计复杂的业务表单并将其部署到SharePoint环境中。在发布Infopath表单模板到...