Work with Views Using the InfoPath 2003 Object Model

When working with an InfoPath form template, you can write code to access the form's views, and then perform a variety of actions on the data that the views contain. The InfoPath 2003-compatible object model supports access to a form's views through the use of the members of the ViewObject interface.

Overview of the ViewObject Interface

The ViewObject interface provides the following methods and properties, which form developers can use to interact with an InfoPath view.

Note

The methods and properties of the ViewObject interface are not available during the OnLoad event.

Name Description
DisableAutoUpdate method
Disables synchronization of the XML Document Object Model (DOM) and the view.
EnableAutoUpdate method
Enables synchronization of the XML DOM and the view.
ExecuteAction method
Executes an InfoPath editing action.
Export method
Exports the view as a file of the specified format.
ForceUpdate method
Synchronizes the XML DOM and the view.
GetContextNodes method
Returns a reference to the XMLNodesCollection interface, based on the specified XML node and view context or on the current selection in the view.
GetSelectedNodes method
Returns a reference to the XMLNodesCollection interface, based on the current selection in the view.
SelectNodes method
Selects a range of XML nodes in the view.
SelectText method
Selects the text contained in the specified XML node in the view.
SwitchView method
Switches an InfoPath form to the specified view
Name property
Returns a string value indicating the name of the current view.
Window property
Returns a reference to the WindowObject interface which accesses the Window associated with the view.

Note

The InfoPath 2003-compatible object model also provides the ViewInfosCollection interface, which can be used to get information about all of the views implemented in a form.

Using the ViewObject Interface

The ViewObject interface is accessed through the View property of the XDocument interface (which is accessed through the thisXDocument variable that is initialized in the _Startup method of the form code class). For example, the following code sample demonstrates how to use the Alert method of the UIObject interface to display a message box with the name of the current view that is associated with a form's underlying XML document.

thisXDocument.UI.Alert("Current view name: " + 
   thisXDocument.View.Name);
thisXDocument.UI.Alert("Current view name: " & _
   thisXDocument.View.Name)

All InfoPath forms contain at least one default view; however, InfoPath also supports the creation of multiple views of a form's underlying XML document. When you have multiple views in a form, the View object can be used to work with the view that is currently active. You can programmatically change the view that is currently active by using the SwitchView method of the View object, as the following code sample demonstrates.

thisXDocument.View.SwitchView("MySecondView");
thisXDocument.View.SwitchView("MySecondView")

The previous example for switching a view will work only after the form is opened. To set a default view during the OnLoad event, use the IsDefault property of the ViewInfoObject interface, as shown in the following example.

thisXDocument.ViewInfos["MyDefaultView"].IsDefault = true;
thisXDocument.ViewInfos("MyDefaultView").IsDefault = True