Programmgesteuertes Ändern der Standardansicht eines InfoPath-Formulars

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 826997 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Microsoft Office InfoPath-Formulare unterstützen mehrere Ansichten. Eine Ansicht ist die Standardansicht. Wenn Sie ein Formular in Microsoft InfoPath 2010, Microsoft Office InfoPath 2007 oder Microsoft Office InfoPath 2003 öffnen, wird es in der Standardansicht geöffnet. Dieser Artikel enthält ein Beispiel dafür, wie Sie die Standardansicht eines InfoPath-Formulars programmseitig ändern.

Erstellen eines neuen Formulars

  1. Starten Sie InfoPath.
    • InfoPath Designer 2010:
      1. Klicken Sie auf Neu, dann auf Leeres Formular und anschließend auf Formular entwerfen.
    • InfoPath 2007:
      1. Klicken Sie im Menü Datei auf Eine Formularvorlage entwerfen.
      2. Klicken Sie im Aufgabenbereich Eine Formularvorlage entwerfen auf Leer, und klicken Sie dann auf OK.
    • InfoPath 2003:
      1. Klicken Sie im Menü Datei auf Ein Formular entwerfen.
      2. Klicken Sie im Aufgabenbereich Ein Formular entwerfen auf Neues leeres Formular erstellen.

Erstellen von Ansicht 1

InfoPath 2010:
  1. Geben Sie in das leere Formular für den Titel Dies ist Ansicht 1 und danach unter der gepunkteten Linie Beim Öffnen des Formulars das Anzeigen von Ansicht 2 überprüfen ein.
  2. Klicken Sie, um den Zeiger an den Anfang der zweiten Zeile zu positionieren.
  3. Doppelklicken Sie unter Steuerelemente auf Kontrollkästchen.
  4. Klicken Sie auf das Symbol Speichern.
Outlook 2007 und Outlook 2003:
  1. Geben Sie in das leere Formular in die erste Zeile Dies ist Ansicht 1 ein, und geben Sie danach in die zweite Zeile Beim Öffnen des Formulars das Anzeigen von Ansicht 2 überprüfen ein.
  2. Klicken Sie, um den Zeiger an den Anfang der zweiten Zeile zu positionieren.
  3. Klicken Sie im Dropdownmenü Aufgabenbereich auf Steuerelemente.
  4. Klicken Sie im Aufgabenbereich Steuerelemente auf Kontrollkästchen.
  5. Klicken Sie auf das Symbol Speichern.

Erstellen von Ansicht 2

InfoPath 2010:
  1. Klicken Sie auf die Registerkarte Seitenentwurf. Beachten Sie, dass Ansicht 1 die Standardansicht des Formulars ist.
  2. Klicken Sie im Abschnitt Ansichten auf Neue Ansicht.
  3. Geben Sie den Namen Ansicht 2 ein, und klicken Sie anschließend auf OK.
  4. Geben Sie für den Titel Dies ist Ansicht 2 ein.
Outlook 2007 und Outlook 2003:
  1. Klicken Sie im Dropdownmenü Aufgabenbereich auf Ansichten.

    Ansicht 1 ist die Standardansicht des Formulars.
  2. Klicken Sie im Abschnitt Aufgaben des Aufgabenbereichs auf Neue Ansicht hinzufügen.
  3. Geben Sie den Namen Ansicht 2 ein, und klicken Sie anschließend auf OK.
  4. Geben Sie in das leere Formular Dies ist Ansicht 2 ein.

Hinzufügen des Skripts

InfoPath 2007

In InfoPath 2010 und 2007 müssen Sie die gewünschte Programmiersprache festlegen. In InfoPath 2003 überspringen Sie diesen Schritt und verwenden das Verfahren Hinzufügen des Skripts.

Hinweis In diesem Beispiel wird die Programmiersprache C# verwendet, Sie können aber auch Visual Basic oder andere verfügbare Sprachen verwenden.
Festlegen der Programmiersprache
InfoPath 2010:

Bevor Sie dieses Beispielskript in InfoPath 2010 ausführen, müssen Sie die Programmiersprache in C# ändern. Gehen Sie dazu folgendermaßen vor.

Warnung Der in den folgenden Schritten erwähnte Befehl Code entfernen entfernt sämtlichen vorhandenen Code aus dem aktuellen Formular. Verwenden Sie diese Option daher nur, wenn Sie sicher sind, dass Sie diese Aktion wirklich ausführen möchten.
  1. Klicken Sie auf die Registerkarte Entwicklertools.
  2. Klicken Sie im Abschnitt Code auf Sprache, und klicken Sie anschließend auf Programmierung. Wenn das Feld Codesprache der Formularvorlage deaktiviert ist, klicken Sie auf Code entfernen, um sämtlichen vorhandenen Code aus dem Formular zu entfernen. Wenn das Feld Codesprache der Formularvorlage verfügbar ist, fahren Sie mit dem nächsten Schritt fort.
  3. Wählen Sie im Feld Codesprache der Formularvorlage auf C#, und klicken Sie dann auf OK.
InfoPath 2007:

Bevor Sie dieses Beispielskript in InfoPath 2007 ausführen, müssen Sie die Programmiersprache in C# ändern. Gehen Sie hierzu folgendermaßen vor:

Warnung Der in den folgenden Schritten erwähnte Befehl Code entfernen entfernt sämtlichen vorhandenen Code aus dem aktuellen Formular. Verwenden Sie diese Option daher nur, wenn Sie sicher sind, dass Sie diese Aktion wirklich ausführen möchten.
  1. Klicken Sie im Menü Extras auf Formularoptionen.
  2. Klicken Sie in der Liste Kategorie auf Programmierung. Wenn das Feld Codesprache der Formularvorlage deaktiviert ist, klicken Sie auf Code entfernen, um sämtlichen vorhandenen Code aus dem Formular zu entfernen. Wenn das Feld Codesprache der Formularvorlage verfügbar ist, fahren Sie mit dem nächsten Schritt fort.
  3. Klicken Sie im Feld Codesprache der Formularvorlage auf C# und dann auf OK.
Hinzufügen des Skripts
InfoPath 2010:

Fügen Sie das Skript zum Loading-Ereignis hinzu. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf der Registerkarte Entwicklertools auf Loading-Ereignis. Microsoft Visual Studio Tools for Applications wird gestartet.
  2. Fügen Sie den folgenden Beispielcode an den angegebenen Stellen hinzu.
    {
                //Create an XPathNavigator object for the main DOM
                XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();
    
                //Create an XPathNavigator object for field1 - the check box for switching the View
                XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:field1", this.NamespaceManager);
          
                //Make sure that the XPathNavigator object is not null or an empty string
                if ((xnDefaultView != null) && (xnDefaultView.Value != ""))
    
                {
                    //Switch to the appropriate View
                    switch (xnDefaultView.Value)
    
                    {
                        case "false":
                            e.SetDefaultView("View 1");
                            break;
    
                        case "true":
                            e.SetDefaultView("View 2");
                            break;
    
                    }
            }
    }
    
  3. Speichern Sie die Änderungen, und schließen Sie dann Visual Studio Tools for Applications.
  4. Speichern Sie Ihre Formularvorlage unter SwitchDefaultView.xsn, und schließen Sie dann die Formularvorlage.
InfoPath 2007

Fügen Sie das Skript zum Loading-Ereignis hinzu. Gehen Sie hierzu folgendermaßen vor:
  1. Zeigen Sie im Menü Extras auf Programmierung, und klicken Sie anschließend auf Loading-Ereignis. Microsoft Visual Studio Tools for Applications wird gestartet.
  2. Fügen Sie den folgenden Beispielcode zum Ereignis Age_OnValidate hinzu.
    {
                //Create an XPathNavigator object for the main DOM
                XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();
    
                //Create an XPathNavigator object for field1 - the check box for switching the View
                XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:field1", this.NamespaceManager);
          
                //Make sure that the XPathNavigator object is not null or an empty string
                if ((xnDefaultView != null) && (xnDefaultView.Value != ""))
    
                {
                    //Switch to the appropriate View
                    switch (xnDefaultView.Value)
    
                    {
                        case "false":
                            e.SetDefaultView("View 1");
                            break;
    
                        case "true":
                            e.SetDefaultView("View 2");
                            break;
    
                    }
  3. Speichern Sie die Änderungen, und schließen Sie dann Visual Studio Tools for Applications.
  4. Speichern Sie Ihre Formularvorlage unter SwitchDefaultView.xsn, und schließen Sie dann die Formularvorlage.

InfoPath 2003

Gehen Sie in InfoPath 2003 folgendermaßen vor, um das Skript hinzuzufügen:
  1. Zeigen Sie im Menü Extras auf Skript, und klicken Sie anschließend auf Microsoft Skript-Editor.
  2. Fügen Sie dem Code-Fenster den folgenden Code hinzu:
    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. Speichern Sie das Skript, und schließen Sie den Microsoft Script-Editor.
  4. Speichern Sie Ihre Formularvorlage unter SwitchDefaultView.xsn, und schließen Sie dann die Formularvorlage.

Testen des Skripts

InfoPath 2010
  1. Öffnen Sie Microsoft Office InfoPath Filler.
  2. Klicken Sie auf Formular suchen, blättern Sie zu SwitchDefaultView.xsn, und wählen Sie es aus. Klicken Sie dann auf Öffnen.

    Das Formular wird in Ansicht 1 geöffnet (in der anfänglichen Standardansicht).
  3. Aktivieren Sie das Kontrollkästchen Ansicht 2.
  4. Speichern Sie Ihr Formular unter SwitchDefaultViewForm.xml, und schließen Sie dann das Formular.
  5. Klicken Sie auf der Registerkarte Datei auf Schließen und anschließend auf Öffnen.
  6. Suchen Sie SwitchDefaultViewForm.xml, und klicken Sie danach auf Öffnen.
Das Formular wird in Ansicht 2 geöffnet.

Outlook 2007 und Outlook 2003:
  1. Klicken Sie im Menü Datei auf Ein Formular ausfüllen.

    Hinweis Stellen Sie sicher, dass Sie das Formular in diesem Schritt ausfüllen anstatt das Formular anzuzeigen. Durch das Anzeigen werden keine programmatischen Änderungen der Standardansicht im Ereignis OnLoad wiedergegeben. In der Seitenansicht wird immer die Ansicht angezeigt, die derzeit im InfoPath Designer gewählt ist.
  2. Klicken Sie in InfoPath 2007 unter Ein Formular öffnen auf SwitchDefaultView.

    Klicken Sie in InfoPath 2003 im Aufgabenbereich auf SwitchDefaultView.

    Das Formular wird in Ansicht 1 geöffnet (in der anfänglichen Standardansicht).
  3. Aktivieren Sie das Kontrollkästchen Ansicht 2.
  4. Speichern Sie Ihr Formular unter SwitchDefaultViewForm.xml, und schließen Sie dann das Formular.
  5. Klicken Sie im Menü Datei auf Öffnen.
  6. Suchen Sie SwitchDefaultViewForm.xml, und klicken Sie danach auf Öffnen.
Das Formular wird in Ansicht 2 geöffnet.

Eigenschaften

Artikel-ID: 826997 - Geändert am: Dienstag, 4. Oktober 2011 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Infopath 2010
Keywords: 
kbhowto KB826997
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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