FormEvents.Loading 이벤트
양식 서식 파일이 로드된 후와 임의의 보기가 초기화되기 전 사이에 발생합니다.
네임스페이스: Microsoft.Office.InfoPath
어셈블리: Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)
구문
‘선언
Public MustOverride Event Loading As LoadingEventHandler
‘사용 방법
Dim instance As FormEvents
Dim handler As LoadingEventHandler
AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading
예외
예외 | 조건 |
---|---|
InvalidOperationException | 개발자가 InternalStartup 메서드가 아닌 다른 위치의 이벤트를 바인딩하려고 했습니다. |
주의
중요
Loading 이벤트는 양식 코드에서 개발자가 인스턴스화하지 않습니다. Microsoft InfoPath 2010 디자인 모드 사용자 인터페이스에서 양식 수준 이벤트에 대해서만 이벤트 처리기를 추가해야 합니다. 디자인 모드 사용자 인터페이스에서 양식 서식 파일에 이벤트 처리기를 추가하면 InfoPath에서 EventManager 클래스와 FormEvents 클래스의 멤버로 양식 코드 파일의 InternalStartup 메서드에서 코드를 생성하여 이벤트를 해당 이벤트 처리기에 바인딩합니다. InfoPath 디자인 모드에서 이벤트 처리기를 추가하는 방법에 대한 자세한 내용은 방법: 이벤트 처리기 추가를 참조하십시오.
Loading 이벤트는 LoadingEventHandler 대리자를 사용하여 바인딩됩니다.
Loading 이벤트는 양식이 로드된 후와 보기가 렌더링되기 전 사이에 발생합니다.
양식 서식 파일이 InfoPath Forms Services를 실행하는 SharePoint Server 2010에서 적절하게 구성된 문서 라이브러리에 배포되고 해당 문서 라이브러리에서 열리는 경우 Loading 이벤트는 세션당 한 번만 발생합니다.
SaveEventArgs 클래스의 CancelableArgs 속성을 사용하여 Cancel 속성을 true로 설정하면 Loading 이벤트를 취소할 수 있습니다.
참고 사항 |
---|
Loading 이벤트가 발생하면 보기가 초기화되지 않고 보기에 사용되는 XSLT(XSL 변환)가 로드되지 않습니다. XmlForm 개체는 Loading 이벤트가 발생할 때까지 XmlFormCollection 컬렉션에 추가되지 않습니다. 그러나 Loading 이벤트가 실행되는 동안 XmlForm 개체를 사용할 수는 있습니다. |
Loading 이벤트 처리기에서는 다음과 같은 메서드 및 속성을 호출할 수 없습니다.
Loading 이벤트 처리기에서는 AdoSubmitConnection, EmailSubmitConnection 또는 FileSubmitConnection 클래스의 멤버를 호출할 수 없습니다.
이 형식 또는 멤버는 Microsoft InfoPath Filer 또는 웹 브라우저에서 연 양식에서 실행되는 코드에서 액세스할 수 있습니다.
예
다음 예제에서는 Loading 이벤트에 대한 이벤트 처리기를 사용하여 양식이 디지털 서명되었는지 여부를 확인하고 그렇지 않은 경우 Date1 필드를 현재 날짜로 설정합니다.
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
if (this.Signed)
{
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled.";
e.CancelableArgs.Cancel = true;
}
XPathNavigator myDate =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager);
// Check for and delete xsi:nil="true" attribute.
if (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
{
myDate.DeleteSelf();
}
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
ByVal e As LoadingEventArgs)
If (Me.Signed)Then
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled."
e.CancelableArgs.Cancel = True
End If
Dim myDate As XPathNavigator =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager)
' Check for and delete xsi:nil="true" attribute.
If (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
myDate.DeleteSelf();
End If
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
End Sub