Как программно изменить представление формы InfoPath по умолчанию

Переводы статьи Переводы статьи
Код статьи: 826997 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Формы Microsoft Office InfoPath поддерживают несколько представлений. Одно представление является представлением по умолчанию. При открытии формы в Microsoft InfoPath 2010, Microsoft Office InfoPath 2007 или Microsoft Office InfoPath 2003, откройте форму в представлении по умолчанию. Данная статья содержит пример того, как программным образом изменять представление по умолчанию формы InfoPath.

Создайте новую форму

  1. Запустите Microsoft InfoPath.
    • Для 2010 конструктора InfoPath:
      1. Нажмите кнопкуНовыйщелкнитеПустой формы, а затем нажмите кнопкуФорма конструктора.
    • Для InfoPath 2007:
      1. Нажмите кнопкуРазработки шаблона формынаФайлменю.
      2. Нажмите кнопкуПустойвРазработки шаблона формыобласть задач, а затем нажмите кнопкуОК.
    • Для InfoPath 2003:
      1. Нажмите кнопкуПроектирование формынаФайлменю.
      2. Нажмите кнопкуНовая пустая формавПроектирование формыобласть задач.

Создать представление 1

Для InfoPath 2010:
  1. В пустую форму типаЭто представление 1для заголовка, а затем введитеУстановите флажок, чтобы вывести 2 представления при открытии формыв пунктирной линии.
  2. Установите курсор в начале второй строки.
  3. ВЭлементы управлениядважды щелкнитеФлажок.
  4. Нажмите кнопкуСохранитьзначок.
InfoPath 2007 и InfoPath 2003:
  1. В пустую форму типаЭто представление 1в первой строке, а затем введитеУстановите флажок, чтобы вывести 2 представления при открытии формына второй строке.
  2. Установите курсор в начале второй строки.
  3. НаОбласть задачраскрывающееся меню, нажмите кнопкуЭлементы управления.
  4. ВЭлементы управленияобласть задач, нажмите кнопкуФлажок.
  5. Нажмите кнопкуСохранитьзначок.

Создать представление 2

Для InfoPath 2010:
  1. Нажмите кнопкуМакет страницывкладку уведомлениеПредставление 1представление используется по умолчанию для формы.
  2. ВПредставленияраздел, нажмите кнопкуНовое представление.
  3. Введите имяПредставление 2, а затем нажмите кнопкуОК.
  4. Для заголовка, типЭто представление 2.
InfoPath 2007 и InfoPath 2003:
  1. НаОбласть задачраскрывающееся меню, нажмите кнопкуПредставления.

    Представление 1представление используется по умолчанию для формы.
  2. ВДействияраздел из области задач щелкнитеДобавить новое представление.
  3. Введите имяПредставление 2, а затем нажмите кнопкуОК.
  4. В пустую форму типаЭто представление 2.

Добавить сценарий

InfoPath 2007

2010 В InfoPath и 2007, необходимо задать язык программирования, который требуется использовать. Для InfoPath 2003, пропустите эту процедуру, а затем с помощьюДобавить сценарийпроцедуру.

ПримечаниеВ этом примере на языке программирования C#. Можно использовать Visual Basic или другие доступные параметры.
Задать язык программирования
Для InfoPath 2010:

, Прежде чем запустить этот пример сценария в InfoPath 2010, необходимо изменить язык программирования C#. Чтобы сделать это, выполните следующие действия.

ПредупреждениеКоманда Удалить код, описанное в следующей процедуре удаляет все существующие коды из текущей формы. Таким образом не используйте этот параметр, если вы уверены, что вы хотите выполнить это действие.
  1. Нажмите кнопкуРазработчикВкладка «».
  2. ВКодраздел, нажмите кнопкуЯзык, а затем нажмите кнопку ВыбратьПрограммирование. ЕслиЯзык кода шаблона формыполе отключено, нажмите кнопкуУдалить кодУдалить весь существующий код в форму. ЕслиЯзык кода шаблона формыполе доступно, перейдите к следующему шагу.
  3. ВЯзык кода шаблона формыполе, установите флажокC#, а затем нажмите кнопкуОК.
Для InfoPath 2007:

Перед запуском этого образца сценария в InfoPath 2007, необходимо изменить язык программирования C#. Чтобы сделать это, выполните следующие действия:

ПредупреждениеКоманда Удалить код, описанное в следующей процедуре удаляет все существующие коды из текущей формы. Таким образом не используйте этот параметр, если вы уверены, что вы хотите выполнить это действие.
  1. НаСредстваменю, нажмите кнопкуПараметры формы.
  2. ВКатегориясписок, нажмите кнопкуПрограммирование. ЕслиЯзык кода шаблона формыполе отключено, нажмите кнопкуУдалить кодУдалить весь существующий код в форму. ЕслиЯзык кода шаблона формыполе доступно, перейдите к следующему шагу.
  3. ВЯзык кода шаблона формыполе, нажмите кнопкуC#, а затем нажмите кнопкуОК.
Добавить сценарий
Для InfoPath 2010:

Сценария для добавленияЗагрузка событий. Чтобы сделать это, выполните следующие действия:
  1. НаРазработчиквкладки, щелкнитеЗагрузка событий. Запуск Microsoft Visual Studio Tools для приложений.
  2. Добавьте следующий код в местах, заданный.
    {
                //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. Сохранить изменения, а затем закройте Visual Studio Tools for Applications.
  4. Сохранить как шаблон формыSwitchDefaultView.xsn, а затем закройте шаблон формы.
InfoPath 2007

Добавление сценария для события загрузки . Чтобы сделать это, выполните следующие действия:
  1. НаСредствавыберите пункт менюПрограммирование, а затем нажмите кнопкуЗагрузка событий. Запуск Microsoft Visual Studio Tools для приложений.
  2. Добавьте следующий код дляAge_OnValidateсобытие.
    {
                //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. Сохранить изменения, а затем закройте Visual Studio Tools for Applications.
  4. Сохранить как шаблон формыSwitchDefaultView.xsn, а затем закройте шаблон формы.

InfoPath 2003

Добавить сценарий в InfoPath 2003, выполните следующие действия:
  1. НаСредствавыберите пункт менюСценарий, а затем нажмите кнопкуРедактор сценариев.
  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, а затем закройте шаблон формы.

Проверка сценария

Для InfoPath 2010
  1. Откройте заполнитель Microsoft Office для InfoPath.
  2. Нажмите кнопкуПоиск формывыберитеSwitchDefaultView.xsnвыберите его и нажмите кнопкуОткрыть.

    Форма открывается в представлении 1 (режим по умолчанию).
  3. УстановитеПредставление 2флажок.
  4. Сохранить форму какSwitchDefaultViewForm.xml, а затем закройте форму.
  5. Вкладка на файл, нажмите кнопку Закрыть и нажмите кнопку Открыть.
  6. НайтиSwitchDefaultViewForm.xml, а затем нажмите кнопкуОткрыть.
Форма открывается в представлении 2.

InfoPath 2007 и InfoPath 2003:
  1. НаФайлменю, нажмите кнопкуЗаполнение формы.

    ПримечаниеУбедитесь, что, заполните форму на этом этапе вместо Предварительный просмотр формы. Предварительный просмотр не отражает изменения программного представления по умолчанию вOnLoadсобытие . Режим предварительного просмотра всегда отображаются представления, выбранного в конструкторе InfoPath.
  2. В InfoPath 2007, нажмите кнопкуSwitchDefaultViewв группеОткрытие формы.

    В InfoPath 2003, нажмите кнопкуSwitchDefaultViewв области задач.

    Форма открывается в представлении 1 (режим по умолчанию).
  3. УстановитеПредставление 2флажок в поле.
  4. Сохранить форму какSwitchDefaultViewForm.xml, а затем закройте форму.
  5. НаФайлменю, нажмите кнопкуОткрыть.
  6. Найдите SwitchDefaultViewForm.xml, а затем нажмите кнопкуОткрыть.
Форма открывается в представлении 2.

Свойства

Код статьи: 826997 - Последний отзыв: 4 октября 2011 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Infopath 2010
Ключевые слова: 
kbhowto kbmt KB826997 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:826997

Отправить отзыв

 

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