View.GetSelectedNodes Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает ссылку XPathNodeIterator на объект для итерации по всем xml-узлам в текущем выборе элементов в представлении.
public:
abstract System::Xml::XPath::XPathNodeIterator ^ GetSelectedNodes();
public abstract System.Xml.XPath.XPathNodeIterator GetSelectedNodes ();
abstract member GetSelectedNodes : unit -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetSelectedNodes () As XPathNodeIterator
Возвращаемое значение
Для XPathNodeIterator итерации по всем узлам в текущем выделенном фрагменте.
Исключения
Метод GetSelectedNodes был вызван из обработчика событий для Loading события.
Примеры
В следующем примере метод используется для выбора узлов в первой строке элемента управления "Повторяющаяся таблица", SelectNodes(XPathNavigator) привязанного к 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
Комментарии
Если в представлении не выбраны элементы или выбран только текст, тогда объект XPathNodeIterator, возвращенный методом GetSelectedNodes, не содержит итерации.
Примечание. Метод GetSelectedNodes не возвращает узлы на основе текущего выделения, если используется в обработчике событий для Clicked события кнопки в представлении, так как фокус теряется из элемента управления, который должен находиться в контексте. Чтобы избежать этого поведения, используйте метод GetSelectedNodes из настраиваемой области задач, меню или панели инструментов.
Доступ к этому элементу предоставляется только формам, работающим в том же домене, что и текущая открытая форма, а также формам с междоменными правами доступа.
Доступ к этому типу или элементу предоставляется только из кода, выполняющегося в формах, открытых в Microsoft InfoPath Filler.