View.GetSelectedNodes 메서드

보기에서 현재 선택한 항목에 있는 모든 XML 노드에 대해 반복하는 데 사용할 수 있는 XPathNodeIterator 개체에 대한 참조를 반환합니다.

네임스페이스:  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()

반환 값

형식: System.Xml.XPath.XPathNodeIterator
현재 선택한 항목에 있는 모든 노드에 대해 반복하는 데 사용할 수 있는 XPathNodeIterator입니다.

예외

예외 조건
InvalidOperationException

GetSelectedNodes 메서드가 Loading 이벤트에 대한 이벤트 처리기에서 호출된 경우

주의

보기에서 항목을 선택하지 않았거나 텍스트만 선택한 경우에는 GetSelectedNodes 메서드에서 반환하는 XPathNodeIterator 개체에 반복할 노드가 포함되지 않습니다.

참고 사항참고 사항

GetSelectedNodes 메서드를 보기에 있는 단추의 Clicked 이벤트에 대한 이벤트 처리기에서 사용하면 컨텍스트에 있어야 하는 컨트롤에서 포커스가 없어지므로 현재 선택 항목에 기초하여 노드가 반환되지 않습니다. 이러한 문제가 발생하지 않게 하려면 사용자 지정 작업창, 메뉴 또는 도구 모음에서 GetSelectedNodes를 사용합니다.

이 멤버는 현재 열려 있는 양식과 같은 도메인에서 실행하는 양식 또는 도메인 간 권한이 부여된 양식에서만 액세스할 수 있습니다.

이 형식 또는 멤버는 Microsoft InfoPath Filer에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

다음 예제에서는 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 네임스페이스