Поделиться через


Метод View.GetSelectedNodes

Возвращает ссылку на объект XPathNodeIterator для выполнения итерации во всех узлах XML в текущем выборе элементов в представлении.

Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)

Синтаксис

'Декларация
Public MustOverride Function GetSelectedNodes As XPathNodeIterator
'Применение
Dim instance As View
Dim returnValue As XPathNodeIterator

returnValue = instance.GetSelectedNodes
public abstract XPathNodeIterator GetSelectedNodes ()

Возвращаемое значение

Объект XPathNodeIterator для выполнения итерации на всех узлах в текущем выборе.

Исключения

Тип исключения Условие

InvalidOperationException

Метод GetSelectedNodes вызван из обработчика события для события Loading.

Заметки

Если в представлении не выбраны элементы или выбран только текст, тогда объект XPathNodeIterator, возвращенный методом GetSelectedNodes, не содержит итерации.

ЗаметкаЗаметка

Метод GetSelectedNodes не вернет узлы на основе текущего выбора, если используется в обработчике события для события Clicked кнопки в представлении, так как элемент управления, который должен был быть в контексте, потерял фокус. Чтобы избежать этого поведения, используйте метод GetSelectedNodes из настраиваемой области задач, меню или панели инструментов.

Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.

Доступ к этому типу или члену имеется только из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007.

Пример

В следующем примере метод SelectNodes используется для выбора узлов в первой строке элемента управления , привязанного к group2. Метод GetSelectedNodes затем используется для возврата коллекции узлов на основе текущего выбора. Наконец, код выполняет цикл по коллекции узлов, отображая имя, внутренний XML-код и значение каждого узла.

// Create XPathNavigator and specify XPath for nodes.
XPathNavigator repeatingTableRow1 = 
   MainDataSource.CreateNavigator().SelectSingleNode(
   "/my:myFields/my:group1/my:group2[1]", NamespaceManager);

// Select nodes in specified XPathNavigator.
CurrentView.SelectNodes(repeatingTableRow1);

// Get selected nodes.
XPathNodeIterator selectedNodes = 
   CurrentView.GetSelectedNodes();

// Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString());

// Loop through collection and display information.
foreach (XPathNavigator selectedNode in selectedNodes)
{
   MessageBox.Show(selectedNode.Name);
   MessageBox.Show(selectedNode.InnerXml);
   MessageBox.Show(selectedNode.Value);
}
' Create XPathNavigator and specify XPath for nodes.
Dim repeatingTableRow1 As XPathNavigator  = _
   CreateNavigator().SelectSingleNode( _
   "/my:myFields/my:group1/my:group2[1]", NamespaceManager)

' Select nodes in specified XPathNavigator.
CurrentView.SelectNodes(repeatingTableRow1)

' Get selected nodes.
Dim selectedNodes As XPathNodeIterator = _
   CurrentView.GetSelectedNodes()

' Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString())

' Loop through collection and display information.
Dim selectedNode As XPathNavigator
For Each selectedNode In selectedNodes
   MessageBox.Show(selectedNode.Name)
   MessageBox.Show(selectedNode.InnerXml)
   MessageBox.Show(selectedNode.Value)
Next

См. также

Ссылка

Класс View
Члены View
Пространство имен Microsoft.Office.InfoPath