HOWTO:以编程方式更改 Microsoft Office InfoPath 2003 表单的默认视图

文章翻译 文章翻译
文章编号: 826997 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

Microsoft Office InfoPath 表单支持多个视图。其中一个视图是默认视图。当您在 InfoPath 中打开一个表单时,您打开的是 该表单的默认视图。本文介绍如何以编程方式更改 InfoPath 表单的默认视图。

创建新表单

  1. 启动 InfoPath 2003。
  2. 在“文件”菜单上,单击“设计表单”。
  3. 在“设计表单”任务窗格中,单击“新建空白表单”。

创建 View 1

  1. 在空白表单的第一行中键入 This is View 1,然后在第二行中键入 Check to display View 2 when the form is opened
  2. 在“任务窗格”下拉菜单中,单击“控件”。
  3. 在“控件”任务窗格中,单击“复选框”。
  4. 将“复选框”文本更改为 View 2

创建 View 2

  1. 在“任务窗格”下列菜单中,单击“视图”。

    “View 1”是表单的默认视图。
  2. 在任务窗格的“操作”部分中,单击“添加一个新视图”。
  3. 键入名称 View 2,然后单击“确定”。
  4. 在空白表单中,键入 This is View 2

添加脚本

  1. 在“工具”菜单上,指向“脚本”,然后单击“Microsoft 脚本编辑器”。
  2. 向代码窗口中添加以下代码:
    function XDocument::OnLoad(eventObj)
    {
    	//Pick the default view based on the value of element DefaultView
    	var objDefaultView = XDocument.DOM.selectSingleNode("//my:field1");
    
    	if ((objDefaultView != null) && (objDefaultView.text != ""))
       	{
    		switch (objDefaultView.text)
          		{
             		case "false":
    				    XDocument.ViewInfos("View 1").IsDefault = true;
                			break;
             		case "true":
                			XDocument.ViewInfos("View 2").IsDefault = true;
                			break;
          		}
       	}
    }
  3. 保存该脚本,然后关闭 Microsoft 脚本编辑器。
  4. 将您的表单模板另存为 SwitchDefaultView.xsn,然后关闭该表单模板。

试运行

  1. 在“文件”菜单上,单击“填写表单”。

    注意:请确保在此步骤中填写表单而不是预览表单。预览不会反映在 OnLoad 事件中对默认视图所做的任何编程更改。预览模式始终显示 InfoPath 设计器中当前选中的视图。
  2. 在任务窗格中,单击“切换默认视图”。

    该表单在 View 1(初始的默认视图)中打开。
  3. 单击“View 2”复选框。
  4. 将该表单另存为 SwitchDefaultViewForm.xml,然后关闭该表单。
  5. 在“文件”菜单上单击“打开”。
  6. 找到 SwitchDefaultViewForm.xml,然后单击“打开”。

    该表单在 View 2 中打开。

属性

文章编号: 826997 - 最后修改: 2011年10月4日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Infopath 2010
关键字:?
kbhowto KB826997
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com