View.GetContextNodes 메서드
현재 선택 영역에서 반환된 XML 노드에 대해 반복되는 XPathNodeIterator에 대한 참조를 가져옵니다.
네임스페이스: Microsoft.Office.InfoPath
어셈블리: Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)
구문
‘선언
Public MustOverride Function GetContextNodes As XPathNodeIterator
‘사용 방법
Dim instance As View
Dim returnValue As XPathNodeIterator
returnValue = instance.GetContextNodes()
public abstract XPathNodeIterator GetContextNodes()
반환 값
형식: System.Xml.XPath.XPathNodeIterator
현재 선택 항목의 노드로 채워지는 XPathNodeIterator입니다.
예외
예외 | 조건 |
---|---|
InvalidOperationException | GetContextNodes 메서드가 Loading 이벤트에 대한 이벤트 처리기에서 호출되었습니다. |
주의
GetContextNodes 메서드에서 반환하는 XML 노드는 보기에서 매핑되는 일련의 노드로 구성되며 선택한 XSLT(XSL Transformation) 노드에 해당합니다.
선택한 노드가 보기에서 둘 이상의 컨트롤에 바인딩된 경우에는 반복할 노드에 바인딩되는 컨트롤의 ViewContext 식별자를 지정할 수 있도록 GetContextNodes 메서드를 사용해야 합니다.
참고 사항 |
---|
GetContextNodes 메서드를 보기에 있는 단추의 Clicked 이벤트에 대한 이벤트 처리기에서 사용하면 컨텍스트에 있어야 하는 컨트롤에서 포커스가 없어지므로 현재 선택 항목에 기초하여 노드가 반환되지 않습니다. 이러한 문제가 발생하지 않게 하려면 사용자 지정 작업창, 메뉴 또는 도구 모음에서 GetContextNodes를 사용합니다. |
이 멤버는 현재 열려 있는 양식과 같은 도메인에서 실행하는 양식 또는 도메인 간 권한이 부여된 양식에서만 액세스할 수 있습니다.
이 형식 또는 멤버는 Microsoft InfoPath Filer에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.
예
이 예제에서는 GetContextNodes 메서드를 사용하여 현재 선택 영역에 기반한 컨텍스트 노드 모음을 반환하여 XPathNodeIterator 개체 변수를 채웁니다. 그런 다음 코드는 컨텍스트 노드 모음 전체를 반복하여 각 노드의 이름, 내부 XML 및 값을 표시합니다.
// Get context nodes in current selection.
XPathNodeIterator contextNodes =
CurrentView.GetContextNodes();
// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
MessageBox.Show(contextNode.Name);
MessageBox.Show(contextNode.InnerXml);
MessageBox.Show(contextNode.Value);
}
' Get context nodes in current selection.
Dim contextNodes As XPathNodeIterator = _
CurrentView.GetContextNodes(repeatingTableRow1)
' Loop through collection and display information.
Dim contextNode As XPathNavigator
For Each contextNode In contextNodes
MessageBox.Show(contextNode.Name)
MessageBox.Show(contextNode.InnerXml)
MessageBox.Show(contextNode.Value)
Next