你目前正处于脱机状态,正在等待 Internet 重新连接

你的浏览器不受支持

你需要更新你的浏览器才能使用该网站。

更新到 Internet Explorer 的最新版本

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

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

概要
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 中打开。
返回页首
属性

文章 ID:826997 - 上次审阅时间:10/04/2011 07:47:00 - 修订版本: 4.0

  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Infopath 2010
  • kbhowto KB826997
反馈
='" + (window.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");