Метод 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 для выполнения итерации на всех узлах в текущем выборе.
Исключения
Тип исключения | Условие |
---|---|
Метод 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