代码改变世界

InfoPath开发实战(1):引言

2009-01-16 10:59  Windie Chai  阅读(6170)  评论(6编辑  收藏  举报

InfoPath是从Office 2003是加入的新成员,简单的说,它是一款表单设计和填写软件。我们可以使用InfoPath提供的许多布局方式和控件来快速设计表单;可以使用规则来根据条件执行一些操作;使用数据验证来验证输入内容的合法性;使用条件格式来控制控件的外观;使用公式来动态获取或计算控件的值;还可以从Web Services、SharePoint、XML文件、SQL Server数据库和Access数据库等外部数据源中获取数据并应用到表单中。

另一方面,InfoPath以XML作为数据载体,并以XSL来呈现数据,这些技术的应用使得InfoPath表单更具灵活性。当表单中的数据被更改时,引用了该数据的公式就会立即进行计算。而且配合InfoPath Forms Services,还可以将InfoPath表单呈现在Web页面上,并可以脱离客户端,在浏览器中进行填写。虽然可以在Web页面中浏览的InfoPath表单会受到一些限制,但其主要功能并没有受到限制。

InfoPath拥有杰出的无代码设计能力,这使得它能够快速设计表单并投入使用。如果这些功能仍然不能满足需求,还可以搭配Visual Studio来开发包含代码的表单模板。由于InfoPath采用了XML作为数据载体,所以我们并不需要学习大量的InfoPath 对象模型,实际上,大多数时候我们所编写的代码都是在使用XPath来操作InfoPath DOM。

什么情况下会需要开发包含代码的表单模板呢?比如在设计表单时使用了数据连接来获取数据,然而,InfoPath的数据连接是无法通过无代码的方式进行修改的。假如需要将用户的输入作为Web Services或SQL查询的参数,就需要添加代码来进行处理。

包含代码的InfoPath有两种开发方式:VSTA和VSTO,我们可以根据实际情况来选择使用那一种开发方式。

  • VSTA的全称是Visual Studio Tools For Applications,是InfoPath提供的一种开发方式,安装InfoPath时勾选InfoPath下的“.NET可编程性支持”就会安装VSTA。使用VSTA进行InfoPath开发,只需要在相应位置选择“编辑表单代码”就会自动启动或转到Visual Studio的相应位置。VSTA开发的InfoPath表单模板需要.NET Framework 2.0的支持。
  • VSTO的全称是Visual Studio Tools for Office,是Visual Studio 2008提供的一种开发Office相关应用的项目模板集。VSTO和VSTA主要有两点区别:
    1. 使用VSTO将InfoPath设计器集成到了Visual Studio中,所以在使用VSTO开发InfoPath表单模板时,不需要打开InfoPath客户端软件。
    2. VSTO开发的InfoPath表单目标需要.NET Framework 3.5的支持。

我个人比较喜欢VSTO带来的统一界面开发体验,所以本系列文章都将使用VSTO来进行示例的开发。

本系列文章首先将逐个介绍InfoPath支持的数据连接,以及如何使用代码来对它们进行扩展。

文章索引: